我想知道是否有办法让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
行。
是否有办法做到这一点?
"package>=0.2,<=0.3"
不太合理:你什么时候会同时接受0.2和0.3.0,但排除了0.3的任何bug修复版本呢?我认为"package>=0.2,<0.3"
是一个更好的例子,因为它反映了常见情况:“请给我当前次要版本的最新bug修复版本,但不要自动升级到下一个次要版本,因为我想要明确地进行升级,确保没有影响我的功能性更改。” - Henrik Heimbuerger~=0.2
(依我之见)比这个更好。 - Brad Root~=0.2.1
会做什么就不太清楚了。像>=0.2,<0.3
这样明确表达是一个好方法,因为它非常清晰地说明了正在发生的事情。 - Asclepius~=0.2.1
。这是用户错误,而不是~=
前缀的缺点。 - Brad Root~=0.2.1
意味着>=0.2.1,<0.3
吗?这怎么是用户错误? - Asclepius<
或>
。 - phoenix