如何找到特定版本的Python解释器?

时间:2015-03-24 14:07:46

标签: python python-2.7 virtualenv virtualenvwrapper

我最近在Mac上从Python 2.7.6更新到Python 2.7.9。我的问题是我无法使用带有virtualenv标志的Python 2.7.9创建新的-p

当我在虚拟环境之外打开Python shell时, 使用2.7.9:

localhost:test6 brendan$ python
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

但是,当我使用virtualenvmkvirtualenv创建新的虚拟环境时,它会继续使用2.7.6。

我知道我可以使用-p标志来创建使用特定版本的Python(例如3.0,2.6等)的虚拟环境,但每个都有自己的可执行文件,例如。

virtualenv -p /usr/bin/python3.0 test6

virtualenv -p /usr/bin/python2.6 test7

我似乎没有位于python2.7.9或其他地方的/usr/bin可执行文件。我确实有一个python2.7可执行文件,但如果我指定了这个:

virtualenv -p /usr/bin/python2.7 test7

生成的虚拟环境仍然使用2.7.6版本的Python。我认为Python 2.7.9的安装应该更新python2.7中的/usr/bin/可执行文件?

所以我的问题是:我的Python 2.7.9可执行文件位于何处,如何在创建新虚拟环境时指定它?

2 个答案:

答案 0 :(得分:1)

使用which查找从命令行运行的可执行文件,然后使用它来创建virtualenv。

这样的东西
virtualenv -p $(which python) test7

答案 1 :(得分:0)

/usr/bin/python2.7只是一个指向实际python二进制文件的符号链接,它可能位于其他地方。最有可能的是,如果执行/usr/bin/python2.7 --version,它将向您展示" Python 2.7.6"。

我没有在Mac上试过这个,但是在Linux上做过,就是获取特定版本的python并在我的路径/ users // mypython中手动编译,然后修改/ usr / bin中的符号链接/ python指向我的版本。