如何安装最新的软件包补丁号码?

Jad*_*d S 4 python versioning pip

如何在主要次要版本中安装最新的修补程序版本的软件包.所以我想说我想要1.10的最新补丁版本,所以如果有1.10.8,1.10.9,1.11.3可用,我想获得1.10.9.

澄清:我不想安装特定的包,我想在一个范围内安装最新的包.上面我想要最新的包在1.10.0 <= x <1.11.0范围内

djv*_*jvg 9

如果您已经安装了兼容版本,packageuser3850 接受的答案将不会升级到最新补丁(根据我的经验,就是这样)。

例如,我已经django 1.9.8安装并想要升级到最新的补丁,这是1.9.13,但是pip install django~=1.9.0(或pip install django~=1.9)告诉我requirement already satisfied(使用 pip 18.0)。

所以,在这种情况下,我们需要添加 --upgrade. 有两个选项对我有用:

  1. pip install django~=1.9.0 --upgrade

还有一个我觉得更易读的(基于这个答案):

  1. pip install django==1.9.* --upgrade

如果使用第一个选项 ( ~=),请确保包含“micro”版本号(如“major.minor.micro”)。例如,pip install django~=1.9.0 --upgrade1.9.13根据需要升级到,但pip install django~=1.9 --upgrade(即没有.01.11.15改为升级到。

注意:缺少下限,例如=>1.9.8,在选项 2 中应该不是问题,因为无论如何升级都会给我们最新的匹配。


小智 8

pip支持用于指定版本号的~= 版本说明符,所以

pip install package~=1.10.0
Run Code Online (Sandbox Code Playgroud)

如果这是该软件包的最新补丁级别,将安装版本1.10.9.

对于在文档中实现相同结果的其他方法有更详细的解释和比较,例如:

~= 2.2.0
Run Code Online (Sandbox Code Playgroud)

相当于

>= 2.2.0, == 2.2.*
Run Code Online (Sandbox Code Playgroud)

  • 如果您已经安装了兼容版本,这不会更新软件包。例如,如果您已经安装了“包”版本 1.10.4,那么`pip install package~=1.10.0` 将给出一个`需求已经满足...`(使用 pip 18.0)。 (2认同)