Virtualenv已激活但python仍在运行系统版本

Posted

技术标签:

【中文标题】Virtualenv已激活但python仍在运行系统版本【英文标题】:Virtualenv activated but python still running system version 【发布时间】:2019-06-23 23:23:19 【问题描述】:

我只是想用他们的 virtualenv 运行其他人的 django 项目,但激活后它仍然运行系统 python:

(virtualenv) tbosss@tbosss:~/Desktop/environment$ which python

/usr/bin/python

【问题讨论】:

检查在virtualenv类型python -Vwhich python中使用的python版本总是在你的系统中显示可用的python 它只显示版本 是否显示所需的python版本?那么,现在您的要求是什么? venv 被激活所以它应该显示 venv python 但它显示系统版本 停用 venv 并再次激活 【参考方案1】:

更新:

Antwane 说:在我的环境中,它正确返回了python在虚拟环境中的路径。

我也测试过,他/她是对的。

您可能有一些配置错误。

如果能帮到你,你可以:

import sys
print(sys.executable)

为了有一个替代which

【讨论】:

在我的环境中,which 正确返回了python 虚拟环境中的路径【参考方案2】:

尝试在venv激活时打印$PATH变量的内容。你可能会发现:

/usr/bin 出现在你的 venv 的真实路径之前 或者 $PATH 中没有引用 venv 路径

另外,你可以尝试打印$VIRTUAL_ENV变量的内容:

echo $VIRTUAL_ENV

并验证它是否包含正确的路径。

最后,您将不得不在环境中挖掘并尝试找出出现此配置错误的原因。

当然,如果您对发生这种情况的原因不感兴趣,您可以删除虚拟环境并创建一个全新的环境,很有可能一切都会恢复。

【讨论】:

以上是关于Virtualenv已激活但python仍在运行系统版本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 中激活 virtualenv?

激活 virtualenv 然后运行另一个 Python 脚本的 Python 脚本?

virtualenv --no-site-packages 和 pip 仍在寻找全局包?

sh 在Ubuntu 12.04上将Pygame 1.9.1安装到Python2.7 virtualenv中的脚本。确保在运行thi之前激活了virtualenv

在 Dockerfile 中激活 python virtualenv

Python学习笔记