有没有办法让pip在多个版本的Python中都能很好地运行?例如,我想使用pip显式地将东西安装到我的站点2.5安装或站点2.6安装中。
例如,对于easy_install,我使用easy_install-2.{5,6}。
是的,我知道virtualenv,不,它不是这个特殊问题的解决方案。
有没有办法让pip在多个版本的Python中都能很好地运行?例如,我想使用pip显式地将东西安装到我的站点2.5安装或站点2.6安装中。
例如,对于easy_install,我使用easy_install-2.{5,6}。
是的,我知道virtualenv,不,它不是这个特殊问题的解决方案。
当前回答
上下文:Archlinux
行动: 安装python2-pip: sudo pacman -S python2-pip
你现在有了pip2.7: Sudo pip2.7安装boto
测试(在我的情况下,我需要'boto'): 执行如下命令:
python2
import boto
成功:没有错误。
退出:按Ctrl + D
其他回答
例如,如果您将其他版本(例如3.5)设置为默认版本,并希望为python 2.7安装PIP:
在https://pypi.python.org/pypi/pip (tar)下载PIP 解压缩tar文件 CD到文件的目录 Sudo python2.7 setup.py install
目前建议使用python -m pip,其中python是您想使用的python版本。这是推荐的,因为它适用于所有版本的Python和所有形式的virtualenv。例如:
# 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
更多详情请登录https://github.com/pypa/pip/pull/1053
引用:
https://github.com/pypa/pip/issues/200 http://www.pip-installer.org/docs/pip/en/0.8.3/news.html#id4 https://pip.pypa.io/en/stable/news/ v0-8或 https://web.archive.org/web/20140310013920/http://www.pip-installer.org:80/docs/pip/en/0.8.3/news.html#id4
这里的大多数答案都解决了这个问题,但我想补充一些一直让我困惑的东西,即在CentOS 7的/usr/local中创建python的替代安装。当我在那里安装时,它看起来像pip在工作,因为我可以使用pip2.7 install,它可以安装模块。然而,我不明白的是,为什么我新安装的python版本看不到我正在安装的东西。
在CentOS 7中,在/usr/bin文件夹中已经有一个python2.7和一个pip2.7。要为新的python发行版安装pip,您需要明确地告诉sudo转到/usr/local/bin
sudo /usr/local/bin/python2.7 -m ensurepip
这将使pip2.7与你的python版本一起安装在你的/usr/local/bin文件夹中。诀窍在于,当您想要安装模块时,您要么需要修改sudo $PATH变量以包含/usr/local/bin,要么需要执行
sudo /usr/local/bin/pip2.7 install <module>
如果您想安装一个新的模块。我花了很长时间才记住sudo没有立即看到/usr/local/bin。
另一种可能的方法是使用conda和pip。有时你可能只想使用其中的一个,但如果你真的需要设置一个特定版本的python,我会将两者结合起来。
I create a starting conda enviroment with the python I want. As in here https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html. Alternatively you could set up the whole enviroment just using conda. conda create -n myenv python=3.6.4 Then activate your enviroment with the python you like. This command could change depending on the OS. source activae myenv Now you have your python active then you could continue using conda but if you need/want to use pip: python -m pip -r requirements.txt
这里有一种可能的方法。
对于python 3和Windows操作系统,我总是使用这种语法在不同版本上安装包:
首先,我总是使用Git Bash命令提示符。
这里有一个安装urllib包的例子。
默认Python版本:(普通pip命令)
pip install urllib3
对于其他版本
py -3.8 -m pip install urllib3
python的Py => -3.8 =>的版本(我使用3.8.7版本),但如果你使用3.7.7版本,它将是“-3.7” -m: just because or for modify PIP install urllib3: PIP正常命令