Pythonで仮想環境(venv)を使っていて、
- 仮想環境を切り替えたらエラーが出る
- さっきまで動いていたコードが動かない
- pip installしたのに反映されない
といった経験はありませんか。
仮想環境は便利な仕組みですが、
切り替え時の確認不足によって
動かなくなるケースが非常に多いです。
この記事では、
仮想環境を切り替えたあとにPythonが動かなくなったときの確認ポイントを、
Mac環境・初心者向けに整理して解説します。
※ 本記事は Mac環境(python3 / venv)を前提 に説明します。
この記事でわかること
- 仮想環境切り替え後に起こりやすいトラブル
- まず確認すべきポイント
- pipやVS Codeが関係するケース
- よくある勘違い
よくある症状
仮想環境を切り替えた後、
次のような症状が出ることがあります。
- ModuleNotFoundError が出る
- importできない
- pip install が反映されない
- VS Codeで実行すると失敗する
多くの場合、
コードではなく環境の問題です。
確認① 仮想環境が本当に有効化されているか
まず、
仮想環境が有効化されているかを確認します。
ターミナルの先頭に、
(venv)
のような表示があるか確認してください。
表示がない場合は、
仮想環境が有効になっていません。
有効化コマンド(Mac):
source venv/bin/activate
確認② 仮想環境を切り替えたあとにpip installしているか
仮想環境を切り替えた場合、
その仮想環境内で再度 pip install が必要です。
よくある流れ:
- 仮想環境Aでpip install
- 仮想環境Bに切り替え
- importできない
これは正常な挙動です。
仮想環境ごとに、
ライブラリは独立しています。
確認③ pipが仮想環境のPythonを指しているか
仮想環境が有効な状態で、
次のコマンドを確認します。
pip3 --version
表示されるパスに、
venv/lib/...
が含まれていれば、
仮想環境のpipが使われています。
含まれていない場合は、
グローバル環境のpipを使っている可能性があります。
確認④ VS Codeで選択されているPythonが一致しているか
VS Codeを使っている場合、
仮想環境を切り替えてもVS Code側は自動で変わらないことがあります。
確認ポイント:
- VS Code下部(ステータスバー)のPython表示
- 仮想環境のPythonが選択されているか
ターミナルとVS Codeで
違うPythonを使っていると、
動かなくなる原因になります。
確認⑤ 実行コマンドが正しいか
仮想環境を使っていても、
次のような実行方法だと混乱することがあります。
python main.py
Macでは、
次の形が安全です。
python3 main.py
仮想環境が有効化されていれば、
python3 は仮想環境のPythonを指します。
よくある勘違い
仮想環境切り替え後に動かない場合、
次のような勘違いが多いです。
- 仮想環境は自動で切り替わると思っている
- pip installは一度やればどこでも使えると思っている
- VS Codeが自動で追従すると考えている
実際には、
毎回明示的な確認が必要です。
まず確認すべきチェックリスト
動かなくなった場合は、
次の順で確認してください。
(venv)が表示されているか- 仮想環境内で pip install したか
- pipが仮想環境を指しているか
- VS CodeのPythonが一致しているか
- 実行コマンドが正しいか
この順で確認すれば、
ほとんどのトラブルは解消します。
まとめ
仮想環境を切り替えたあとに
Pythonが動かなくなる原因の多くは、
- 仮想環境が有効化されていない
- 別環境でpip installしている
- VS Codeとターミナルの環境ズレ
といった 環境管理の問題です。
コードを疑う前に、
まず実行環境を確認することが重要です。
コメントを残す