如何将virtualenv与本地dist-packages隔离?

6 投票
1 回答
5447 浏览
提问于 2025-04-17 14:07

如何停止使用 '/usr/local/lib/python2.7/dist-packages' 的虚拟环境?

目前,当我运行

virtualenv --no-site-packages ENV

时,它仍然在使用我想要停止的 dist-packages。

补充说明:/usr/local/lib/python2.7/dist-packages 在 PYTHONPATH 中,它需要在那里以便其他应用程序使用。

1 个回答

9

你的修改解释了你观察到的行为。

在激活虚拟环境时,你需要取消设置 PYTHONPATH

unset PYTHONPATH
source /path/to/virtualenv/bin/activate

virtualenv --no-site-packages ENV 可以顺利创建一个空的虚拟环境,但你的 PYTHONPATH 设置会影响这个空的虚拟环境。

为了简化操作,你可以直接编辑 activate 脚本,在里面添加 unset PYTHONPATH 这个命令。如果你想在关闭虚拟环境时恢复原来的 PYTHONPATH,你还需要修改那个文件里的 deactivate 函数。

撰写回答