为什么pip在travis中安装其他软件包版本?

时间:2019-07-14 14:11:40

标签: python pip travis-ci

在我维护的软件包中,我有一个requirements.txt,其中包含未固定的依赖项pandas。安装我的软件包在本地显示出与在Travis上不同的行为:

  • 在软件包上本地运行pip install会导致安装Pandas版本0.24.2
  • 在Travis CI中运行相同的pip install会导致安装Pandas版本0.25.0rc0link to job)。

在两种情况下,pip和setuptools的版本都相同(pip==19.1.1setuptools==41.0.1)。

我没有指定显式索引(并且在本地我没有全局pip配置),所以我假设两者都应使用标准PyPI索引。查看the available versions on PyPi可以看到0.24.20.25.0rc0都可用。

与Travis相比,我如何在本地获得不同的版本? Travis是否有某种全局的pip配置,例如是否允许安装RC版本?

1 个答案:

答案 0 :(得分:1)

糟糕,我的Travis配置错误发生在执行python setup.py install的时候,我希望看到pip install -e .的输出。

显然,python setup.py install具有不同的逻辑来解释requirements.txt中未固定的依赖关系并选择RC版本(有关一般差异,请参见Q/A difference between python setup.py and pip install)。我以为我可以同时支持python setup.py installpip install,但是鉴于依赖性解析方面的差异,最好只支持pip