実現したいこと
CentOS Stream9、Flask+Nginx+uWSGIの環境下でvenvを作っているのですが、venv内のpythonのバージョンを3.9から3.13に上げたいです。
発生している問題・分からないこと
以下のようにバージョンを上げると、ModuleNotFoundError: No module named 'requests'が出ています。pip freezeでインストールされているライブラリを見ても、既にインストール済み。pip install requestsを行っても、当然、「既に入っています」とメッセージが出ます。なぜかvenv内のライブラリを全て読み込めていないようです。
①python -m venv venv --clear(venvのバージョン固定を外す)
②rm -rf venv(venvの削除)
③python3.13 -m venv venv(venvの再作成)
④source ./venv/bin/activate(venvの有効化)
⑤pip install -r requirements.txt(パッケージの再インストール)
python3.12とpython3.13のバージョンアップを試しましたが、同様のエラーが出ています。
上記と全く同じ方法でpython3.9に戻すとエラーがなく通常通り運用を行えています。
エラーメッセージ
error
1ModuleNotFoundError: No module named 'requests'
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
①python -m venv venv --upgradeでpythonのバージョンアップを試みた→バージョン固定のため、変化せず。
②AlternativesにPythonのバージョン管理
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.13 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 2
update-alternatives --display python(リストの表示)
sudo update-alternatives --config python(新しいバージョンへのシンボリックリンクの設定)
→バージョン固定のため変化せず
2~3日いろいろ調べて、ようやくバージョンアップが出来たのは、venvをクリアしてvenvを作り直した方法だけでした。バージョンアップしたのはいいですが、アプリケーションサーバーを再起動すると、インターナルサーバーエラーでサーバーが止まってしまいます。どうしてよいのか分からず途方に暮れています。どうか、ご教授ください。
補足
実装環境はCentOS Stream9、Flask+Nginx+uWSGIになります。

あなたの回答
tips
プレビュー