2026.07.22(水) / 01:38

Python 3.9でrequirements.txtをインストールできない問題を、Python 3.12で解決した

ID
40276
Published
2026-07-22 01:38
Modified
2026-07-22 01:38
Author
khiro
Categories
デフォルト

FastAPIで作成しているポートフォリオの開発環境を構築し直したところ、requirements.txtのインストール中にエラーが発生した。

原因を調べ、Python 3.12で仮想環境を作り直すことで、無事にFastAPIを起動できた。

発生したエラー

最初に、既存の仮想環境で以下のコマンドを実行した。

python -m pip install --upgrade pip
python -m pip install -r requirements.txt

しかし、click==8.2.1のインストール時にエラーが発生した。

ERROR: Could not find a version that satisfies the requirement click==8.2.1
ERROR: No matching distribution found for click==8.2.1

ログには、次のような表示もあった。

Requires-Python >=3.10

原因

使用していた仮想環境は、Python 3.9で作成されていた。

.venv/lib/python3.9/site-packages

一方、requirements.txtに指定されていたclick==8.2.1は、Python 3.10以上を必要としていた。

つまり、使用しているPythonのバージョンと、パッケージが要求しているPythonのバージョンが一致していなかった。

pip自体を最新版にしても、Pythonのバージョンが古いままでは解決できない。

既存の仮想環境を削除する

まず、仮想環境を終了した。

deactivate

続いて、Python 3.9で作成されていた既存の仮想環境を削除した。

rm -rf .venv

仮想環境を削除しても、appディレクトリやrequirements.txtなどのプロジェクト本体は削除されない。

pyenvが使用できなかった

Python 3.12を指定するために、最初は次のコマンドを実行した。

pyenv local 3.12.2

しかし、以下のエラーが表示された。

zsh: command not found: pyenv

このMacでは、pyenvがインストールされていないか、PATHが設定されていなかった。

また、仮想環境の外ではpythonコマンドも使用できなかった。

zsh: command not found: python

macOSでは、環境によってpythonではなく、python3python3.12を使用する。

Python 3.12で仮想環境を作成する

今回は、python3.12コマンドが使用できたため、次のコマンドで仮想環境を作成した。

python3.12 -m venv .venv

続いて、仮想環境を有効化した。

source .venv/bin/activate

Pythonのバージョンを確認する。

python --version

仮想環境を有効化すると、pythonコマンドは.venv内のPythonを参照する。

パッケージをインストールする

最初にpipを更新した。

python -m pip install --upgrade pip

続いて、requirements.txtに記載されているパッケージをインストールした。

python -m pip install -r requirements.txt

Python 3.12で仮想環境を作り直したことで、click==8.2.1を含むパッケージを正常にインストールできた。

FastAPIを起動する

最後に、以下のコマンドを実行した。

python -m uvicorn app.main:app --reload

ターミナルに次の内容が表示された。

INFO:     Will watch for changes in these directories
INFO:     Uvicorn running on http://127.0.0.1:8000
INFO:     Started reloader process using StatReload

これで、FastAPIの開発環境を正常に起動できた。

ブラウザから以下のURLにアクセスすると、ローカル環境のアプリを確認できる。

http://127.0.0.1:8000

今回の学び

requirements.txtのインストールに失敗した場合、パッケージのバージョンだけでなく、Python本体のバージョンも確認する必要がある。

確認に使用できるコマンドは以下のとおり。

python --version
python -m pip --version
which python

仮想環境のPythonバージョンを変更したい場合は、既存の仮想環境をそのまま使い続けるのではなく、対象のPythonから仮想環境を作り直す方が安全だ。

今回の流れは、次のとおりだった。

deactivate
rm -rf .venv

python3.12 -m venv .venv
source .venv/bin/activate

python -m pip install --upgrade pip
python -m pip install -r requirements.txt

python -m uvicorn app.main:app --reload

Python 3.9と依存パッケージの互換性が原因だったが、Python 3.12で仮想環境を再構築することで解決できた。