cor*_*ror 199 python pip multiple-versions
我想知道是否有任何方法可以告诉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
在我的需求文件中使用静态行.
有没有办法做到这一点?
Hug*_*res 252
你可以做:
$ pip install "package>=0.2,<0.3"
Run Code Online (Sandbox Code Playgroud)
并且pip
将寻找最佳匹配,假设该版本至少为0.2,小于0.3.
这也适用于pip 需求文件.请参阅PEP 440中有关版本说明符的完整详细信息.
low*_*rin 65
你也可以用:
pip install package==0.5.*
Run Code Online (Sandbox Code Playgroud)
这更加一致且易于阅读.
Mor*_*itz 51
一种优雅的方法是~=
根据PEP 440使用兼容的释放操作符.在你的情况下,这将相当于:
package~=0.5.0
Run Code Online (Sandbox Code Playgroud)
例如,如果存在以下版本,则会选择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.*
Run Code Online (Sandbox Code Playgroud)
Dar*_* M. 16
nok.github.io/pipdev是一个交互式工具,供开发人员测试已定义的版本处理说明符。
与问题相关:nok.github.io/pipdev?spec =~=0.5.0&vers=0.6
归档时间: |
|
查看次数: |
60994 次 |
最近记录: |