Какая альтернатива использованию -process-dependency-links с pip
Я использую Python 2.7. Я пытаюсь pip install
пакет repo (на внутреннем github), который имеет зависимость от другого репо (также на внутреннем github). Я попробовал несколько вариантов, но тот, который работал, был следующим:
(env)abc$ cat requirements.txt
-e git://github.abc.com/abc/abc.git#egg=my_abc --process-dependency-links
(env)abc$ pip install -r requirements.txt
Но во время выполнения командной строки я получил предупреждение:
"DEPRECATION: обработка ссылок зависимостей устарела и будет удалена в будущей версии".
Я нахожусь на пике v7.1.2. Каков правильный способ сделать это?
Ответы
Ответ 1
Вы можете использовать требования к URL для PEP 508:
pip @ https://github.com/pypa/pip/archive/19.2.3.zip
Они будут работать для прямых требований (через CLI или перечисленных в requirements.txt
) и пакетов, которые не загружаются pip из PyPI. Обратите внимание, что поддержка для этого была выпущена в пипе 18.0 (то есть в начале 2018 года, потому что пип в CalVer сейчас).
В случае OP requirements.txt
может быть неизменным (хотя они хотели бы удалить --process-dependency-links
), если ссылки на зависимости обновляются до формата PEP 508.
Ответ 2
Попробуйте использовать --process-dependency-links
. Возможно, вам также придется использовать --allow-external packagename
или --allow-unverified packagename
, где packagename фактически указывает --allow-unverified packagename
бы зависимость вы хотите установить, не в официальном репозитории
Примечание. Поскольку это устаревшая функциональность, --process-dependency-links
будет полностью удален в ближайшее время. Я считаю, что предпочтительный подход заключается в том, чтобы вместо этого предоставить файл requirements.txt
. Например: пусть у меня есть определенные требования к моему проекту, поэтому я напишу это в файле требований.txt.
&cat requirements.txt
django-compressor>=1.4,<1.5
django-grappelli>=2.6.3,<2.7
django-bootstrap-form>=3.1,<3.2
Затем я смогу установить его, используя:
$ pip install -r requirements.txt
Это все, что вам нужно сделать