[英]Allow “pip install” to ignore local versions
我正在使用versioneer
来管理版本,例如PPE 440 。
我已将一些版本上传到私有存储库:
0.0.1
0.0.2
0.0.2+0.0.2+18.g5a127f2.dirty
我的问题是现在当我使用
pip install mypackage==0.0.2
当我期望得到0.0.2
时,我得到版本0.0.2+0.0.2+18.g5a127f2.dirty
0.0.2
。
有没有办法让pip忽略“本地版本”而只安装确切的版本,而无需我上传到不同的索引(即分段和稳定)?
编辑:
我尝试使用--no-cache-dir
和-I
标志,但是问题仍然存在; pip更喜欢0.0.2+版本而不是0.0.2版本。
附加编辑:
我正在使用pip 18.0
和Python 2.7
根据distutils :
在发布编号之后,您可以具有发布前或发布后的标签。 预发行标签使版本被认为比其附加版本更旧 。 因此,版本2.4比版本2.4c1更新,后者又比版本2.4b1或2.4a1更新。 发布后标记使版本被认为比其附加的版本新 。 因此,像2.4-1和2.4pl3这样的修订版比2.4更新,但比2.4.1(具有更高的发行版)要旧。
因此,虽然不是我要寻找的解决方案(以下是完整答案),但它看起来像这样:
pip install "mypackage<=0.0.2"
关于发行版的distutils内容似乎与PEP440中指定的内容背道而驰
[示例:...] == 3.1:特别是3.1版(或3.1.0版),不包括所有预发行版,后发行版,开发版本和任何3.1.x维护版本。
...但是对于如何确定某个东西是“发布”还是“发布”,我还是有点模糊。
不过, 我的问题的答案似乎是:使用Aribitrary Equality :
pip install mypackage===0.0.2
这给了我确切指定的版本,而忽略了具有任何pre / post / dev详细信息的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.