Ошибка зависимости от версии с setup.py, но успешно устанавливается с установкой pip

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

- 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?

Добавлена ​​ссылка на проект, которая имеет такое же поведение, как описано.

yardstick17 29.05.2019 23:19
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
185
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Другие вопросы по теме