我最近在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.
但是,当我使用virtualenv
或mkvirtualenv
创建新的虚拟环境时,它会继续使用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可执行文件位于何处,如何在创建新虚拟环境时指定它?
答案 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指向我的版本。