Python 允许;pip安装";忽略本地版本

Python 允许;pip安装";忽略本地版本,python,pip,Python,Pip,我正在使用versioneer来管理版本,阿拉巴马州 我已将几个版本上载到私有存储库: 0.0.1 0.0.2 0.0.2+0.0.2+18.g5a127f2.脏的 我的问题是现在当我使用 pip install mypackage==0.0.2 当我期望得到0.0.2时,我得到了版本0.0.2+18.g5a127f2.dirty 有没有办法让pip忽略“本地版本”,只安装准确的版本,而不必上传到不同的索引(即staging和stable) 编辑: 我已尝试使用--no cache dir

我正在使用
versioneer
来管理版本,阿拉巴马州

我已将几个版本上载到私有存储库:

  • 0.0.1
  • 0.0.2
  • 0.0.2+0.0.2+18.g5a127f2.脏的
我的问题是现在当我使用

pip install mypackage==0.0.2
当我期望得到
0.0.2
时,我得到了版本
0.0.2+18.g5a127f2.dirty

有没有办法让pip忽略“本地版本”,只安装准确的版本,而不必上传到不同的索引(即staging和stable)

编辑:

我已尝试使用
--no cache dir
-I
标志,但问题仍然存在;pip更喜欢0.0.2+版本而不是0.0.2版本

附加编辑:

我使用的是
PIP18.0
和Python2.7

依据:

在发布号之后,可以有发布前或发布后标签。预发布标记使版本被视为比其附加到的版本旧。因此,修订版2.4比修订版2.4c1更新,而修订版2.4c1又比2.4b1或2.4a1更新。Postrelease标记使版本被视为比附加到其上的版本更新。因此,2.4-1和2.4pl3等修订版比2.4更新,但比2.4.1(版本号更高)旧

因此,虽然不是我正在寻找的解决方案(完整答案如下),但它看起来是可行的:

pip install "mypackage<=0.0.2"

这给了我确切的指定版本,忽略了具有任何pre/post/dev详细信息的版本。

您是否为您的项目使用不同的venv。您是否尝试过:
pip安装--强制重新安装
?您是否正在寻找
pip安装--无缓存目录
?感谢您指出这一点--我已经尝试了这两个选项,但它们产生了相同的结果。我的期望是,当pip可以找到两个版本时,它应该选择指定的版本(逐字),但可能这不是pip在这种情况下的工作方式?我无法使用简单的本地PyPI repo设置重现此问题
pip install pkg==X
精确安装版本X。我建议检查您的私有repo服务器的HTTP请求日志,也许您会从那里得到一些信息。
pip install mypackage===0.0.2