我使用--no-site-packages
选项创建了virtualenv并安装了许多库。现在我想恢复--no-site-packages
选项并使用全局包。
我可以不重新创建virtualenv吗?
更确切地说:
我想知道使用--no-site-packages
选项创建virtualenv时发生的完全是什么,而不是使用该选项。
如果我知道会发生什么,那么我可以弄清楚如何撤消它。
答案 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
。