在OSX上安装多个版本的Python包
我正在尝试在Mac OSX 10.9.4上安装一个适用于python3.4的包。正如你所知道的,python是随OSX一起提供的,所以当我安装python3.4时,我很高兴发现它自带了一个pip工具,可以用来安装包(在有多个python版本的Mac上安装pip会导致它安装在系统的python2.7上)。
我之前尝试用我第一次安装的pip(与python2.7关联的那个)来安装这个包(https://pypi.python.org/pypi/chrome/0.0.1),结果发现它在那个版本上成功安装了,但在其他版本上却没有。
我用新的pip命令为python3.4进行了安装(当我单独调用它时,会显示帮助页面,所以我知道它是有效的),结果告诉我这个包已经安装了,让我尝试更新。更新后发现我已经有最新版本了。所以我尝试从python3.4中卸载它,然后再重新安装,但没有成功;从python2.7中卸载pip后只在3.4上重新安装也得到了同样的结果。
我知道这有点难以理解,但希望你能明白。
我还查看了这里的内容,但没有成功。
解决方案:
虽然python确实有一个与它使用的包目录同名的目录,但这并不是正确的目录,对我来说,它在库的一个子目录中。虽然文档说引用pip2
会导致包安装在python3.4上,但这是错误的。然而,引用pip3.4
对我来说是有效的。
1 个回答
我建议你开始使用虚拟环境(virtualenv)。
假设你已经安装了Python 3.4,那么你应该也有pyvenv这个工具。至于pip和3.4,应该已经安装好了。
比如说,使用3.4版本来创建你自己的虚拟环境并激活它:
$ mkdir ~/venv
$ pyvenv-3.4 ~/venv/py34
$ source ~/venv/py34/bin/activate
$ deactive # does what is says...
$ source ~/venv/py34/bin/activate
$ pip install ... # whatever package you need
如果你使用的是2.7版本,首先需要安装virtualenv,然后创建你自己的虚拟环境并激活它。确保setuptools和pip是最新的:
$ virtualenv-2.7 ~/venv/venv27
$ . ~/venv/venv27/bin/activate
$ pip install -U setuptools
$ pip install -U pip
$ pip install ... # whatever package you need