できない.dev

pip で「Could not open requirements file」が解決できない

pip install -r requirements.txt で「No such file or directory」が出るのは、実行ディレクトリにファイルが無い、パスやファイル名の誤り、-r の付け忘れが主因。
正しいパスを指定すれば解決する。

公開: 更新:

実行例あり(2026-08-31 に実環境で検証)

要約

pip install -r requirements.txt で「Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'」が出るのは、pip が指定したパスにファイルを見つけられないからです。

ほとんどは「実行しているディレクトリにファイルが無い」「パスやファイル名が違う」のどちらかです。

エラーに表示されるファイル名('...' の中身)が、自分の想定どおりかをまず確認してください。

実行例

ファイルが無いときは Errno 2 とともにパスがそのまま出るので、まず ls で場所を確かめてから相対パスを直せばよい。
-r を付け忘れた場合はメッセージが変わり、pip 自身が「requirements.txt という名前のパッケージを入れようとしている」と指摘して -r を促してくる。

$ pip install -r requirements.txt
[notice] A new release of pip is available: 25.0.1 -> 26.2.1
[notice] To update, run: pip install --upgrade pip
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
$ echo $?
1
$ ls -l requirements.txt
ls: cannot access 'requirements.txt': No such file or directory
$ ls -l config/requirements.txt
-rw-r--r-- 1 root root 4 Aug 31 01:16 config/requirements.txt
$ pip install -r ./config/requirements.txt
Requirement already satisfied: pip in /usr/local/lib/python3.12/site-packages (from -r ./config/requirements.txt (line 1)) (25.0.1)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
 
[notice] A new release of pip is available: 25.0.1 -> 26.2.1
[notice] To update, run: pip install --upgrade pip
$ echo $?
0
$ pip install requirements.txt
ERROR: Could not find a version that satisfies the requirement requirements.txt (from versions: none)
HINT: You are attempting to install a package literally named "requirements.txt" (which cannot exist). Consider using the '-r' flag to install the packages listed in requirements.txt
 
[notice] A new release of pip is available: 25.0.1 -> 26.2.1
[notice] To update, run: pip install --upgrade pip
ERROR: No matching distribution found for requirements.txt
$ echo $?
1

— 2026-08-31 時点の出力

検証環境

検証日
実行環境
python:3.12Debian GNU/Linux 13 (trixie)
バージョン
  • Python 3.12.14
  • Git 2.47.3
  • pip 25.0.1

この記事の「実行例」は、上記の環境で実際にコマンドを実行して得られた出力をそのまま掲載しています。 再現手順はリポジトリの検証スクリプトとして管理し、定期的に再実行して出力を更新しています。

よくある原因

  1. 実行場所のずれ: ファイルはプロジェクト直下にあるのに、別ディレクトリで pip install している
  2. 名前・パス違い: requirement.txt(複数形でない)など綴り間違い、サブフォルダ内にある
  3. -r 付け忘れ: pip install requirements.txt だとファイル名をパッケージ名と解釈し別エラーになる
  4. CI / コンテナ: 想定と違う作業ディレクトリで実行されている

解決策

1. ファイルの場所を確認して実行する

まず実体があるかを確認します。

ls -l requirements.txt        # 無ければ別ディレクトリにある
pip install -r requirements.txt

サブフォルダにある場合はパスを明示します。

pip install -r ./config/requirements.txt

2. -r を必ず付ける

-r が無いと pip はファイル名をパッケージ名として扱います。
ファイルから読み込むときは必ず付けます。

# NG: requirements.txt という名のパッケージを探してしまう
pip install requirements.txt
# OK
pip install -r requirements.txt

3. CI / Docker では作業ディレクトリを揃える

WORKDIR や working-directory がファイルの場所と一致しているか確認します。
書式の詳細は公式の Requirements File Format(新しいタブで開く)を参照してください。

この記事は役立ちましたか?