У меня есть приложение Python, которое зависит от нескольких пакетов. К сожалению, одного из этих пакетов нет в PyPi, поэтому мне приходится устанавливать его прямо из репозитория git.
Я пытался добавить его в свой setup.py вот так:
setup(
..,
..,
dependency_links = [
'https://github.com/marcuz/libpynexmo.git#egg=nexmomessage'
],
install_requires=[
..,
'nexmomessage'
],
packages=['localpackage']
Однако это не удается: для nexmomessage не найдено ни одного дистрибутива.
Я вижу, где он создает список ссылок зависимостей: записывает dependency_links в common.egg-info / dependency_links.txt - и когда я смотрю на этот файл, URL-адрес правильный.
Если я запустил его в командной строке: pip install -e git +https://github.com/marcuz/libpynexmo.git#egg=nexmomessage
Устанавливается без проблем.
Мысли?
Начиная с пункта 1.5, ссылки зависимости устарели. В настоящее время pip все еще можно принудительно использовать с --process-dependency-links
флаг. Возможно, вам также придется использовать --allow-external packagename
или --allow-unverified packagename
, где packagename
на самом деле указывает, какую зависимость вы хотите установить, но не в официальном репозитории
Обратите внимание, что, поскольку эта функция устарела, --process-dependency-links
флаг скоро будет полностью удален. Я считаю, что предпочтительным подходом является предоставление requirements.txt
файл.
И начиная с пункта 7 они снова включены. Это означает, что теперь вы можете использовать dependency_links
используя пункт:
pip install -e /path/to/python/module --process-dependency-links --allow-all-external
Если вы используете системный pip своего дистрибутива, вам может потребоваться обновить pip:
pip install pip --upgrade
Похоже, это произошло в запросе на вытягивание # 1519