在 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

这是我在 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()

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

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

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

的虚拟环境

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

谢谢大家的意见。我终于想出了解决办法。困难的部分是找出如何找到安装 python 2.7.15 的位置,我将在响应中原封不动地保留它,因为我是通过反复试验在其他地方找到它的。我还没有找到给你完整路径的命令(也许专家可以告诉我们如何从简洁的 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.
>>>