问题:如何点安装最小和最大版本范围的软件包?
我想知道是否有任何方法可以告诉pip,特别是在需求文件中,安装pip install package>=0.2
不应该安装最低版本()和最高版本的软件包(理论api:)pip install package<0.3
。
我问是因为我正在使用正在积极开发的第三方库。我希望我的pip要求文件指定它应该始终安装0.5.x分支的最新次要版本,但是我不希望pip尝试安装任何更新的主要版本(例如0.6.x),因为API是不同的。这很重要,因为即使0.6.x分支可用,但开发人员仍在向0.5.x分支发布补丁和错误修正,因此我不想package==0.5.9
在需求文件中使用静态行。
有什么办法吗?
回答 0
你可以做:
$ pip install "package>=0.2,<0.3"
并且pip
会寻找最佳匹配,假设版本至少为0.2,且小于0.3。
回答 1
您还可以使用:
pip install package==0.5.*
更加一致且易于阅读。
回答 2
一种优雅的方法是使用~=
符合PEP 440的兼容发布运算符。在您的情况下,总计为:
package~=0.5.0
例如,如果存在以下版本,它将选择0.5.9
:
0.5.0
0.5.9
0.6.0
为了澄清起见,每对都是等效的:
~= 0.5.0
>= 0.5.0, == 0.5.*
~= 0.5
>= 0.5, == 0.*