有没有办法让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,不,它不是这个特殊问题的解决方案。
当前回答
这里的大多数答案都解决了这个问题,但我想补充一些一直让我困惑的东西,即在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。
其他回答
它在windows中是这样工作的:
我将python文件的名称python.py和pythonw.exe更改为python3.py pythonw3.py 然后我在提示符中运行这个命令: Python3 -m PIP安装包
在Windows上,如果您选择在Python 3设置期间安装pip模块,则可以通过Python启动器py.exe使用给定的Python版本执行pip模块。
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
我自己最近也遇到了这个问题,发现在我的Linux系统上,Python 2也没有得到正确的Python 3的pip。
首先,你必须确保已经为你的python版本安装了pip:
对于Python 2:
sudo apt-get install python-pip
对于Python 3:
sudo apt-get install python3-pip
然后,要安装一个版本的Python或其他版本的包,只需在Python 2中使用以下命令:
pip install <package>
或Python 3:
pip3 install <package>
如果你同时安装了python3.6和python3.7,并且希望在默认情况下对python3.7使用pip,那么你应该这样做:
首先,确保为python3.7安装了pip
python3.7 -m pip install -U pip
现在pip3.7必须可用,因此我们编辑.bashrc
nano ~/.bashrc
向它添加下面的行
alias pip=pip3.7
为了使更改生效,在shell中输入:
source ~/.bashrc
现在如果你输入:
pip --version
你应该得到:
PIP 20.1.1 from /usr/local/lib/python3.7/dist-packages/ PIP (python 3.7)
这意味着,如果你使用,例如:
pip install <package>
它将为python3.7安装<package>
如果您有多个版本以及多个架构(32位,64位),您将需要在版本的末尾添加-32或-64。
对于windows,进入cmd并输入py——list,它将生成您已安装的版本。列表如下所示:
Installed Pythons found by py Launcher for Windows
-3.7-64 *
-3.7-32
-3.6-32
以完整命令为例:
py -3.6-32 -m pip install (package)
如果你想更深入地了解,在特定版本的python上安装特定版本的包,请在包后使用==(version)。举个例子,
py -3.6-32 -m pip install opencv-python==4.1.0.25