有没有办法让pip在多个版本的Python中都能很好地运行?例如,我想使用pip显式地将东西安装到我的站点2.5安装或站点2.6安装中。

例如,对于easy_install,我使用easy_install-2.{5,6}。

是的,我知道virtualenv,不,它不是这个特殊问题的解决方案。


当前回答

在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

其他回答

/ / python2 /路径。{5,6} /path/to/pip install PackageName不正常?

为了在任何没有安装pip的python版本上工作,你需要下载pip并执行python*version* setup.py install。例如python3.3 setup.py install。这解决了注释中的导入错误。(@hbdgaf建议)

对于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正常命令

如果您有多个版本以及多个架构(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

它在windows中是这样工作的:

我将python文件的名称python.py和pythonw.exe更改为python3.py pythonw3.py 然后我在提示符中运行这个命令: Python3 -m PIP安装包

安装多个版本的Python和相应的软件包。

同一台windows机器上的Python版本:2.7、3.4和3.6

安装所有3个版本的Python:

使用以下路径安装Python 2.7、3.4和3.6

Python所有3个版本的路径:

确保PATH变量(在系统变量中)包含以下路径:C:\Python27\;C:\Python27\Scripts;C:\Python34\;C:\Python34\Scripts;C:\Python36\;

重命名可执行文件的版本:

将C:\Python36和C:\Python34中的python可执行文件名称分别更改为Python36和Python34。

检查所有版本的命令提示符:

分别为每个版本安装软件包