Опции установки pip "no-cache-dir" и "target" не работают вместе? - PullRequest
0 голосов
/ 11 сентября 2018

Я обнаружил, что работает

pip install fbprophet --target=/tmp/foo --no-cache-dir

выдает следующую ошибку: ImportError: No module named pystan

Однако, если я удаляю опции либо --target, либо --no-cache-dir, установка будет выполнена успешно. то есть обе следующие команды являются успешными:

  1. pip install fbprophet --no-cache-dir

  2. pip install fbprophet --target=/tmp/foo

Кто-нибудь знает, почему это так?

1 Ответ

0 голосов
/ 11 сентября 2018

Я уверен, что проблема не в --target и не в --no-cache-dir.Я попробовал обе команды в переходных пустых виртуальных средах (воссоздавая venv после каждой команды) и получил ошибку с pip install fbprophet --target=/tmp/foo.

Я полагаю, что проблема в setup.py в fbprophet: она импортирует pystan во время процесса сборки без проверки его доступности или установки.Я думаю, что это можно исправить, скопировав или переместив pystan из needs.txt в setup_requires.

Я подозреваю, что проблема не возникла, потому чтопосле pip install fbprophet --no-cache-dir у вас есть pystan, установленный глобально.Удалите все, что установлено с 1-й командой и повторите вторую.Или попробуйте их в новых пустых виртуальных средах.

Отправьте запрос на извлечение для решения проблемы.

Я также думаю, что вы можете установить в 2 этапа:

pip install --target=/tmp/foo --no-cache-dir pystan
PYTHONPATH=/tmp/foo pip install --target=/tmp/foo --no-cache-dir fbprophet
...