如何处理多个Python版本和PIP?
有没有办法让 pip
能够和多个版本的 Python 一起使用呢?比如,我想用 pip
明确地安装东西到我的 Python 2.5 或者 Python 2.6 的环境里。
举个例子,使用 easy_install
的时候,我会用 easy_install-2.{5,6}
来指定版本。
对了,我知道有虚拟环境(virtualenv),但这并不是解决我这个问题的办法。
30 个回答
你在用 /path/to/python2.{5,6} /path/to/pip install PackageName
安装包的时候遇到问题了吗?
如果你的 Python 版本没有预装 pip,那么你需要先下载 pip,然后运行 python*版本* setup.py install
来安装它。比如说,你可以用 python3.3 setup.py install
。这样就能解决评论里提到的导入错误了。(这是 @hbdgaf 提出的建议)
在Windows系统上,如果你在安装Python 3的时候选择了安装Python启动器,你可以通过这个启动器来使用特定版本的pip模块,启动器的名字是py.exe
。
py -3 -m pip install packagename
py -2 -m pip install packagename
你还可以更具体一点,要求使用某个特定的小版本的Python:
py -3.6 -m pip install packagename
要查看所有通过启动器安装的Python版本,可以运行以下命令:
py --list
另外,你也可以直接启动你想要的Python可执行文件:
C:/path/to/specific/python.exe -m pip install packagename
现在的推荐做法是使用 python -m pip
,其中 python
是你想用的 Python 版本。这样做的好处是它适用于所有版本的 Python,并且在各种虚拟环境中都能正常工作。例如:
# The system default python:
$ python -m pip install fish
# A virtualenv's python:
$ .env/bin/python -m pip install fish
# A specific version of python:
$ python-3.6 -m pip install fish
之前的回答,留着供后人参考:
从版本 0.8 开始,Pip 支持 pip-{version}
。你可以像使用 easy_install-{version}
一样使用它:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
编辑:在 1.5 版本中,pip 改变了它的命名规则,使用 pipVERSION
代替 pip-VERSION
。如果你的 pip 版本大于等于 1.5,应该使用以下方式:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
想了解更多细节,可以查看 这个链接
参考资料: