web-dev-qa-db-ja.com

virtualenvで `--no-site-packages`オプションを元に戻す

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

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

より正確には:

--no-site-packagesオプションを使用してvirtualenvを作成すると、そのオプションを使用しないのとは対照的にexactlyがどうなるのかと思います。

何が起こるかわかっていれば、元に戻す方法がわかります。

119
Olivier Verdier

ファイルを削除(または名前変更)してみてくださいno-global-site-packages.txtは、仮想環境下のLibフォルダーにあります。

ここで、venvは仮想環境の名前であり、python3.4は、pythonのいずれかのバージョンに対応します。例:

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

そして、気が変わって元に戻したい場合:

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

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

12
Adaephon

少なくともPython 3.5.2の場合、virtualenvディレクトリのルートにpyvenv.cfgファイルがあります。必要なことは、include-system-site-packagesフラグをfalsetrue

home = /usr/bin
include-system-site-packages = false  # <- change this to "true"
version = 3.5.2
12
kotrfa

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

2
Tim McNamara