У меня есть проект со следующей структурой каталогов:
- 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
. Было бы здорово, если бы кто-нибудь объяснил, что происходит за кулисами.
Обновлять
pip регистрирует предупреждение о несоответствии зависимостей
pyathena 0.2.1 has requirement pandas==0.23.4, but you'll have pandas 0.17.1 which is incompatible.
Есть ли способ установить пакет с помощью setup.py
?
Нет, pip install
не является эквивалентом python setup.py install
; они отличаются во многих аспектах. Одно из их отличий заключается в том, что pip
может понизить версию пакетов (удалить, а затем переустановить более раннюю версию), чтобы соответствовать требованиям к версии. При определенных обстоятельствах pip
можно даже установить конфликтующие требования; он распечатает сообщение об ошибке красным цветом, но команда все равно выйдет со статусом 0. Проверка вывода из pip install
должна точно сказать вам, что происходит.
Добавлена ссылка на проект, которая имеет такое же поведение, как описано.