繁体   English   中英

允许“ pip安装”忽略本地版本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM