当我同时有Python2.7时,virtualenv仅创建/lib/Python2.6(OS X)
我在我的新MacBook Pro上安装了virtualenv(我是第一次用Mac),而且在做其他事情之前就安装了它(可能这不是个好主意)。当我创建一个环境时,它里面有一个/lib/Python2.6
的文件夹。之后我又安装了Python2.7,但新环境里仍然只包含lib
文件夹中的Python2.6
,所以我觉得可能出了一些问题。
注意:如果我打开终端并输入python
,我能正确得到Python2.7。
我尝试通过以下方式重新安装virtualenv:
pip install virtualenv --upgrade
还有,我也尝试了:
easy_install virtualenv
这两种方法的结果都是一样的。它们都没有问题地工作,但在新环境的lib
文件夹里还是没有Python2.7
的文件夹(注意:每次升级后我都关闭并重新打开了终端,以确保安全)……
另外,我还尝试了:
brew install virtualenv
但出现了以下错误:
Error: No available formula for virtualenv
2 个回答
这虽然不是直接回答你的问题,但我发现要在OS X上轻松运行多个版本的Python,最简单的方法是使用macports。对于像PIP和VirtualEnv这样的主要工具,macports通常会提供最新版本,并且管理得相当不错。
然后,你可以为每个安装的版本安装特定的PIP,以及virtualenv。如果你不需要virtualenv,只是想测试不同的版本,可以使用macports里的python_select。
一旦你安装了macports,就可以用以下命令来安装它们:
sudo port install python26 py26-pip py26-virtualenv python_select
补充说明:我发现因为推荐使用MacPorts而不是Homebrew,我的回答被投了反对票。写这个回答的原因是我被特别告知不要依赖OS X自带的Python版本。这就是为什么我会有一个冗余的Macports Python 2.6安装,以及所有配套的工具。如果你觉得这个回答不好,请具体评论一下原因,以及如何改进。
virtualenv foo_env --python=Python2.7
当你传入python
这个参数时,它会为你设置这个版本的bin
和lib
文件夹(当然,前提是你已经安装了这个版本)。