У меня есть приложение Python, которое зависит от нескольких пакетов. Один из тех пакетов, к сожалению, не находится в PyPi, таким образом, я должен установить его непосредственно от мерзавца repo.
Я пытался добавить его в свой 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, корректна.
Если я выполняю его в командной строке: победите устанавливают-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 они снова включены. Это означает, что теперь вы можете использовать dependence_linkks
, используя пункт:
pip install -e /path/to/python/module --process-dependency-links --allow-allexternal
Если вы используете пункт системы дистрибутивов, вам, возможно, понадобится обновить пункт:
pip install pip --upgrade
Похоже, что это произошло в запросе pull request #1519