setup.py的版本依赖性错误,但通过pip install成功安装

时间:2019-05-29 20:14:40

标签: python pip setup.py python-packaging

我有一个具有以下目录结构的项目:

- module_A
  - a.py
- module_B
  - b.py
requirements.txt
setup.py

该项目依赖于标准python包和其他git包。它们在requirements.txt中列出。

当我使用pip安装时,此项目已成功安装。

pip install --process-dependency-links -e .

但是当我尝试使用命令setup.py进行安装

python setup.py install

它抛出处理依赖性错误。

Installed /private/tmp/py2/.venv/lib/python2.7/site-packages/aspect_based_sentiment_analysis-0.0.4-py2.7.egg
Processing dependencies for aspect-based-sentiment-analysis==0.0.4
error: pandas 0.17.1 is installed but pandas==0.23.4 is required by set(['PyAthena'])

项目link

据我了解,pip命令相当于python setup.py install。如果有人可以解释幕后发生的事情,那就太好了。

更新

pip确实记录了依赖项不匹配警​​告

pyathena 0.2.1 has requirement pandas==0.23.4, but you'll have pandas 0.17.1 which is incompatible.

可以使用setup.py安装软件包吗?

1 个答案:

答案 0 :(得分:1)

否,pip install不等于python setup.py install;它们在多个方面有所不同。它们不同的一种方式是pip可以降级软件包(卸载然后重新安装较低的版本)以满足版本要求。在某些情况下,pip可以满足相互矛盾的要求;它将以红色打印出一条错误消息,但是该命令仍将以状态0退出。检查pip install的输出应该可以告诉您发生了什么。