gpt4 book ai didi

python - 在 Windows 中激活 virtualenv 时如何取消设置 PYTHONHOME?

转载 作者:行者123 更新时间:2023-11-28 19:23:52 24 4
gpt4 key购买 nike

我在 C:\Python27 安装了 64 位 Python 2.7.5。

我的环境变量如下:

Path: %PYTHONHOME%\Scripts;
PYTHONHOME: C:\Python27;
PYTHONPATH: C:\Python27\Lib;C:\Python27\Lib\lib-tk;C:\Python27\DLLs;

我创建了一个名为“foo”的 virtualenv,但注意到激活 foo 后 pip freeze 显示了我全局安装的所有包。

经过尝试,删除 PYTHONHOME 变量似乎可以解决这个问题; pip freeze 然后只会看到安装在我的 virtualenv 中的包。

但是,我目前必须手动删除 PYTHONHOME。在 virtualenv 的 Scripts\activate 脚本中有一个 blurb 应该清除它,但似乎没有 ($env:PYTHONHOME 在激活之前和之后愉快地显示相同的 PythonHOME):

# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "$PYTHONHOME" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
unset PYTHONHOME
fi

如何自动清除 PYTHONPATH?在 Windows 下是否需要以某种方式修改激活脚本?

谢谢!

最佳答案

创建虚拟环境时,您可以这样使用 --no-site-packages 标志:

virtualenv env_name --no-site-packages

然后如上所说in the documentation

..[the virtualenv] will not include the packages that are installed globally.

关于python - 在 Windows 中激活 virtualenv 时如何取消设置 PYTHONHOME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17793255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com