使用virtualenv恢复`--no-site-packages`选项

时间:2010-07-30 11:50:20

标签: python virtualenv

我使用--no-site-packages选项创建了virtualenv并安装了许多库。现在我想恢复--no-site-packages选项并使用全局包。

我可以不重新创建virtualenv吗?

更确切地说:

我想知道使用--no-site-packages选项创建virtualenv时发生的完全是什么,而不是使用该选项。

如果我知道会发生什么,那么我可以弄清楚如何撤消它。

5 个答案:

答案 0 :(得分:152)

尝试删除(或重命名)虚拟环境下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

答案 1 :(得分:11)

使用virtualenvwrapper管理virtualenvs时,您可以使用shell函数toggleglobalsitepackages在使用和不使用站点包之间切换。

答案 2 :(得分:8)

至少对于Python 3.5.2,virtualenv目录的根目录中有pyvenv.cfg个文件。您需要做的就是将include-system-site-packages标记从false更改为true

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

答案 3 :(得分:2)

尝试在/virtualenv_root/lib//path/to/desired/site-packages/

之间添加符号链接

答案 4 :(得分:1)

转到您的venv文件夹,然后打开pyvenv.cfg。 (例如,如果您的虚拟环境名为myenv,则文件将位于myenv\pyvenv.cfg

您会看到一个名为include-system-site-packages的布尔设置

将该设置设置为true以使用全局包

如果您想禁用全局软件包,只需将该设置设置为false