【Python 仮想環境】今、どの仮想環境を使っているか確認するコード ~ 迷子のメンティを救え ~
Pythonを教えていると
「仮想環境でちゃんと実行できているか」
「モジュールなどを準備した仮想環境なのか別の環境なのか」
分からなくなる時があります。
特に慣れていない内は、仮想環境の概念は理解できていても、迷い込んでしまう事もしばしば。
ターミナルとVisual Studio Code(などのエディタ)とで、入っている環境がずれている、ということもありがちです。
そんな時、最近は以下のコードで確認するようにしています。
同じような経験があるメンターのみなさんはお試しください。
import platform, os
print()
print("Python:", platform.python_version())
print("OS:", platform.platform())
if "VIRTUAL_ENV" in os.environ:
print("仮想環境の場所:", os.environ['VIRTUAL_ENV'])
if "VIRTUAL_ENV_PROMPT" in os.environ:
print("仮想環境のプロンプト表示:", os.environ['VIRTUAL_ENV_PROMPT'])
if "CONDA_EXE" in os.environ:
print("Anaconda:", os.environ["CONDA_EXE"])
if "CONDA_PROMPT_MODIFIER" in os.environ:
print("Anaconda prompt:", os.environ["CONDA_PROMPT_MODIFIER"])
if "PATH" in os.environ:
print("PATH:", os.environ['PATH'][:200], "...")
print()
VIRTUAL_ENV は、環境切り替えても表示が残る場合もあるので、ちょっと注意。(VSCodeなどを再起動すると正しい表示になる)
CONDA_EXE は、Pythonバージョン3.10環境の場合、Anaconda環境じゃないのに表示される様子。(3.9では出なかった)
VIRTUAL_ENV_PROMPT は、表示されない場合もある。
もっと完璧なチェック方法を知っている方がいらっしゃいましたら、ぜひ教えてください。