最近venvを使い始めたのですが、一つ疑問があります。他のpython環境と独立しているといっても、あくまでpythonのライブラリが独立しているだけで、他のライブラリ(例えばCコンパイラ等)は共通、という理解で正しいのでしょうか?
CC BY-SA 4.0
2019-01-14T20:30:56.777
51974
2021-04-16T00:22:43.563
2021-04-16T00:22:43.563
3060
27033
question
python python3 python-venv
Python の venv が独立させる対象はライブラリのみですか？
> pythonのライブラリが独立しているだけで、他のライブラリ(例えばCコンパイラ等)は共通

概ね、その認識で間違いありません。正確には、ライブラリに加えてPythonのバイナリも独立する場合があります。

`venv`
で作られる仮想環境の挙動としては、Pythonや`pip`のバージョンを（シンボリックリンクやバイナリのコピーにより）指定し、それに対応するライブラリをその仮想環境の中にインストールしていくもののようです。

> venv モジュールは、軽量な "仮想環境" の作成のサポートを提供します。仮想環境には、仮想環境ごとの site ディレクトリがあり、これはシステムの
> site ディレクトリから分離させることができます。それぞれの仮想環境には、それ自身の Python バイナリ (様々な Python
> バージョンで環境を作成できます) があり、仮想環境ごとの site ディレクトリに独立した Python パッケージ群をインストールできます。
>
> [venv --- 仮想環境の作成 — Python 3.7.2
> ドキュメント](https://docs.python.org/ja/3/library/venv.html)
CC BY-SA 4.0
2019-01-15T02:42:26.727
51978
2019-01-15T03:44:03.480
2019-01-15T03:44:03.480
29826
29826
51974
answer