在 MAC 控制台上使用 Python 2.7.15,virtualenv 使用不同版本的 Python 创建环境

Posted

技术标签:

【中文标题】在 MAC 控制台上使用 Python 2.7.15,virtualenv 使用不同版本的 Python 创建环境【英文标题】:With Python 2.7.15 on a MAC console, virtualenv creates an environment with a different version of Python 【发布时间】:2018-10-15 08:01:36 【问题描述】:

这是我在 Mac 中的控制台的摘录,您可以看到控制台上的 Python 是 2.7.15,但在环境中它变成了 2.7.10,这是一个较旧的版本......关于原因和方式的任何帮助修复它将是最受欢迎的!

dhcp-18-57:Wakeup6 **jbs$ python**  
**Python 2.7.15** (default, May  1 2018, 16:44:14)  
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin  
Type "help", "copyright", "credits" or "license" for more information.  
>>> exit()  

dhcp-18-57:Wakeup6 jbs$ virtualenv env  
New python executable in /Users/jbs/PycharmProjects/Wakeup6/env/bin/python  
Installing setuptools, pip, wheel...done.  

dhcp-18-57:Wakeup6 jbs$ source env/bin/activate  

(env) dhcp-18-57:Wakeup6 **jbs$ python**  
**Python 2.7.10** (default, Oct 23 2015, 19:19:21)  
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin  
Type "help", "copyright", "credits" or "license" for more information.  
>>> exit()

【问题讨论】:

我不确定您的计算机是如何设置的,但听起来您为帐户设置的别名与虚拟环境的别名不同。 你能告诉我如何检查这个吗?提前谢谢你 @BrianBarcelona - 你在为此苦苦挣扎吗? 是的...我在苦苦挣扎...我的帐户的别名是否与虚拟环境不同?每个虚拟环境都有自己的别名吗?如何检查是否存在并解决上述问题? 默认情况下,virtualenv 使用它安装的 python,显然那是 python 2.7.10,而不是 2.7.15。您可以使用--python=PYTHON_EXE 选项。请参阅virtualenv.pypa.io/en/stable/reference/#cmdoption-p 上的文档 【参考方案1】:

感谢大家的意见。我终于想出了如何解决它。困难的部分是找出如何找到安装 python 2.7.15 的位置,我将在响应中保持原样,因为我在其他地方通过反复试验找到了它。我还没有找到给你完整路径的命令(也许专家可以告诉我们如何从简洁的 which python 到完整路径)。

我觉得有趣的是,调用 virtualenv 时控制台使用什么并不重要。重要的是用于安装 virtualenv 的 Python 版本,这是将使用的默认版本。

基本上必须在 virtualenv 中使用 -p 选项,并确保找到所需 python 版本所在的正确位置。

dhcp-18--41:WakeUp8 jbs$ virtualenv -p /usr/local/Cellar/python@2/2.7.15/bin/python env
Running virtualenv with interpreter /usr/local/Cellar/python@2/2.7.15/bin/python
New python executable in /Users/jbs/PycharmProjects/WakeUp8/env/bin/python2.7
Also creating executable in /Users/jbs/PycharmProjects/WakeUp8/env/bin/python
Installing setuptools, pip, wheel...done.
dhcp-18-189-34-41:WakeUp8 jbs$ python
Python 2.7.15 (default, May  1 2018, 16:44:14) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

dhcp-18--41:WakeUp8 jbs$ pwd
/Users/jbs/PycharmProjects/WakeUp8

dhcp-18-189-34-41:WakeUp8 jbs$ source env/bin/activate

(env) dhcp-18-189-34-41:WakeUp8 jbs$ python
Python 2.7.15 (default, May  1 2018, 16:44:14) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

【讨论】:

另请参阅有关环境中 pip 奇怪的向下版本控制的相关问题 (***.com/questions/50194070/…)【参考方案2】:

如果你使用 Anaconda 安装了 python,然后为 python 2.7.15 设置一个新的虚拟环境然后按照 Anaconda 文档中的说明,激活这个虚拟环境,你应该很高兴。

如果您没有使用 Anaconda,只需按照说明在 Unix 机器上设置虚拟环境即可。然后激活该环境并开始工作。

您的计算机上可以有多个版本。虚拟环境允许您运行您想要的版本。我有 python 2.7.13 和 python 3.6 的虚拟环境。

如果这不起作用,请告诉我。我会尽力帮忙的。

【讨论】:

谢谢你的回答......我不使用Anaconda......我直接在控制台中安装了它,然后用Pycharm编程......你说的我已经尝试过了@tdelaney 在 cmets 中提到的上述非常好的原因不起作用.... 您是否为 2.7.15 创建了虚拟环境?如果是这样,您是否在运行任何 python 命令之前激活它? 我不确定,但我认为 PyCharm 带有自己的 python 版本。 Pycharm 允许您选择要使用的 python 版本。这是在首选项中设置的...项目解释器... 我确实激活了环境

以上是关于在 MAC 控制台上使用 Python 2.7.15,virtualenv 使用不同版本的 Python 创建环境的主要内容,如果未能解决你的问题,请参考以下文章

spyder中python 3的ipython控制台上的变量问题

Windows MINGW64控制台上的Python3.6不运行解释器[重复]

在控制台上执行的 python/c++/.jar 程序中插入分页符或换页符

如何在控制台上的同一位置写入输出?

在控制台上显示:检测到慢速网络。加载时将使用后备字体

无法在 Firebase 控制台上查看事件参数