我可以将现有的虚拟环境设置为忽略全局包吗?(像新环境中的--no-site-package)

14 投票
2 回答
6161 浏览
提问于 2025-04-16 05:04

我可以创建一个新的虚拟环境,并使用“--no-site-package”选项来忽略全局的包。请问有没有办法把一个已经创建的虚拟环境(没有使用“--no-site-package”选项)改成也忽略全局包呢?这样它就能像一开始用“--no-site-package”创建的一样工作。

提前谢谢你,

塞巴斯蒂安

2 个回答

9

你可以先创建一个新的虚拟环境,然后用 --no-site-package 这个选项重新创建它吗?如果你使用 pip 工具的话,可以通过 pip freeze > requirements.pip 这个命令生成一个需求文件,这样就可以把需要的包重新安装到你新的虚拟环境里。

20

我觉得你只需要创建一个空文件,叫做 no-global-site-packages.txt,然后把它放到虚拟环境的 python2.x 文件夹里(比如 lib/python2.6/,就是那个里面有所有模块的文件夹)。这样,虚拟环境生成的正常 site.py 就会发现这个变化,然后就会处理后面的事情了。

撰写回答