在我维护的软件包中,我有一个requirements.txt
,其中包含未固定的依赖项pandas
。安装我的软件包在本地显示出与在Travis上不同的行为:
pip install
会导致安装Pandas版本0.24.2
。 pip install
会导致安装Pandas版本0.25.0rc0
(link to job)。在两种情况下,pip和setuptools的版本都相同(pip==19.1.1
,setuptools==41.0.1
)。
我没有指定显式索引(并且在本地我没有全局pip配置),所以我假设两者都应使用标准PyPI索引。查看the available versions on PyPi可以看到0.24.2
和0.25.0rc0
都可用。
与Travis相比,我如何在本地获得不同的版本? Travis是否有某种全局的pip配置,例如是否允许安装RC版本?
答案 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 install
和pip install
,但是鉴于依赖性解析方面的差异,最好只支持pip
。