gpt4 book ai didi

python - "python"virtualenv activate后仍然运行系统版本

转载 作者:行者123 更新时间:2023-12-02 10:01:22 25 4
gpt4 key购买 nike

我使用以下命令安装了 Python 2.7:

./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall

然后我创建了 virtualenv 来指向 2.7 安装:

$ virtualenv --python=/usr/local/bin/python2.7 testbox
Already using interpreter /usr/local/bin/python2.7
New python executable in /var/python_venv/testbox/bin/python2.7
Also creating executable in /var/python_venv/testbox/bin/python
Installing setuptools, pip, wheel...done.
$ source testbox/bin/activate
(testbox) $ python
Python 2.6.6 ( , Aug 18 2016, 15:13:37)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

但是如果我激活它,它就会指向 2.6.6:

cat /etc/redhat-release
CentOS release 6.6 (Final)

编辑:

我不确定为什么这不起作用,但我仍然可以在我的 Apache Django 应用程序中使用 virtualenv,所以我不太担心。

最佳答案

您可能已移动/重命名 venv 路径上的文件夹。

venv/bin/activate 包含一个名为 VIRTUAL_ENV 的变量(用于在激活 venv 时更新路径),这可能会导致有对原始 venv 位置的硬编码引用。

VIRTUAL_ENV="/Users/<user-name>/<original-path>/venv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

当您移动/重命名文件夹时,过时的 VIRTUAL_ENV 路径会在您激活时添加到您的PATH中。因此,python 的第一个匹配将位于 PATH 的更下方,并且第一个匹配很可能是系统 python

您应该更新 venv 文件夹中这些过时的硬编码路径。

关于python - "python"virtualenv activate后仍然运行系统版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41003859/

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