129

オプションを使用してvirtualenvを作成し、--no-site-packages多くのライブラリをインストールしました。--no-site-packagesここで、オプションを元に戻し、グローバルパッケージも使用したいと思います。

virtualenvを再作成せずにそれを行うことはできますか?

より正確に:

オプションを使用しないのではなく、オプションを使用してvirtualenvを作成すると、正確に何が起こるのだろうか。--no-site-packages

何が起こるかを知っていれば、それを元に戻す方法を理解できます。

4

6 に答える 6

164

仮想環境でフォルダ内のファイルを削除(または名前変更)してみてくださいno-global-site-packages.txtLib

ここで、 venvは仮想環境の名前であり、python3.4は関連するPythonのバージョンに対応します。次に例を示します。

$ rm venv/lib/python3.4/no-global-site-packages.txt

そして、気が変わって元に戻したい場合は、次のようにします。

$ touch venv/lib/python3.4/no-global-site-packages.txt

注:上記のファイルが表示されない場合は、新しいバージョンのvirtualenvを使用しています。代わりにこの答えに従うことをお勧めします

于 2010-07-30T18:54:30.653 に答える
24

少なくともpyvenv.cfgPython3.5.2の場合、virtualenvディレクトリのルートにファイルがあります。あなたがする必要があるのはinclude-system-site-packagesフラグをからfalseに変更することですtrue

home = /usr/bin
include-system-site-packages = false  # <- change this to "true"
version = 3.5.2
于 2016-12-05T11:00:07.437 に答える
14

venvフォルダーに移動し、を開きますpyvenv.cfg。(たとえば、仮想環境が呼び出されmyenvた場合、ファイルはに配置されますmyenv\pyvenv.cfg

と呼ばれるブール設定が表示されますinclude-system-site-packages

その設定をtrueグローバルパッケージを使用するように設定します

グローバルパッケージの使用を無効にする場合は、false代わりにその設定を設定してください。

于 2019-10-23T00:11:11.517 に答える
12

virtualenvwrapperを使用してvirtualenvsを管理する場合、シェル関数toggleglobalsitepackagesを使用して、サイトパッケージの使用と非使用を切り替えることができます。

于 2015-10-29T10:00:28.280 に答える
2

/virtualenv_root/lib/との間にシンボリックリンクを追加してみてください/path/to/desired/site-packages/

于 2010-07-30T13:02:31.130 に答える
-1

ここで、「myvenv」は仮想環境の名前であり、たとえば私のようなpython3.8は、コマンドラインで実行する必要があるのは次のとおりです。

$ python3 -m venv --system-site-packages myvenv
于 2021-09-27T07:24:27.160 に答える