Ошибка зависимости от версии в setup.py, но успешно устанавливается при установке pip - PullRequest
1 голос
/ 29 мая 2019

У меня есть проект со следующей структурой каталогов:

- 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'])

Проект ссылка

Насколько я понимаю, команда pip эквивалентна python setup.py install. Было бы здорово, если бы кто-то мог объяснить, что происходит за сценой.

Update

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 Ответ

1 голос
/ 29 мая 2019

Нет, pip install не является эквивалентом python setup.py install;они отличаются во многих аспектах.Один из различий заключается в том, что pip может понизить версию пакетов (удалить, а затем переустановить более низкую версию), чтобы соответствовать требованиям к версии.При определенных обстоятельствах pip подходит даже для установки противоречивых требований;он выведет сообщение об ошибке красным цветом, но команда все равно выйдет со статусом 0. Проверка вывода из pip install должна точно сказать вам, что происходит.

...