【かそうかんきょう】
仮想環境(Python) とは?
最終更新:
💡 プロジェクトごとに、Pythonの道具箱を分ける
Pythonのパッケージをプロジェクトごとに分ける環境。venvの作成、シェル別の有効化、直接実行、再作成と仮想マシンとの違いを解説します。
📌 このページのポイント
- venvは、既存のPythonを基に別のパッケージ環境を作る
- 既定では、ほかの環境のパッケージと分けて使う
- 有効化は実行先を選ぶ方法で、直接パスを指定しても使える
- 生成した環境をコピーするより、依存情報から再作成する
Pythonの仮想環境は、何を分けるの?
どうやって作る?
有効化のコマンドは、どこでも同じ?
シェルによって違う。PowerShellなら.\.venv\Scripts\Activate.ps1、bashやzshならsource .venv/bin/activateが例だ。有効化すると、そのシェルのPATHを調整して環境のPythonを選びやすくする。作成と有効化は別の操作だよ。
有効化しないと、使えないの?
フォルダをコピーすれば、同じ環境になる?
もっと詳しく知りたい人へ
仮想マシンや、セキュリティの隔離と同じ?
venvが主に分けるのはPythonのパッケージ環境です。別のOSを起動する仮想マシンではなく、コードがPCのファイルへアクセスするのを防ぐ仕組みでもありません。何を隔離したいかによって、使う仕組みを選びます。
既定なら、システムのパッケージは見えない?
venvでは既定で、システム側のsite-packagesを分けます。ただし--system-site-packagesを付けて作成すると、システム側も利用できる設定になります。依存関係を再現したいときは、その設定やPythonの版、依存情報も確認します。
まとめ:ざっくりこれだけ覚えればOK!
「仮想環境」って出てきたら「Pythonのパッケージをプロジェクトごとに分ける仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Virtual Environment」 = Pythonのパッケージ環境を論理的に分けたもの
💬 ここではPythonのvenvなどが作る環境を指します。OSや機器全体を仮想化する仮想マシンとは、分ける対象が違います。