установка зернышка, кажется, игнорирует ссылки зависимости

У меня есть приложение 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

Это устанавливает без проблемы.

Мысли?

6
задан 26 June 2014 в 19:47
2 ответа

Начиная с версии 1.5, ссылки зависимости устарели . В настоящее время pip все еще можно принудительно использовать с помощью флага - process-dependency-links . Возможно, вам также придется использовать - allow-external packagename или - allow-unverified packagename , где packagename фактически указывает ту зависимость, которую вы хотите установить, но не в официальном репозитории

Обратите внимание, что, поскольку эта функциональность устарела, флаг - process-dependency-links скоро будет полностью удален. Я считаю, что предпочтительным подходом является предоставление файла requirements.txt .

6
ответ дан 3 December 2019 в 00:21

И с пункта 7 они снова включены. Это означает, что теперь вы можете использовать dependence_linkks, используя пункт:

pip install -e /path/to/python/module --process-dependency-links --allow-allexternal

Если вы используете пункт системы дистрибутивов, вам, возможно, понадобится обновить пункт:

pip install pip --upgrade

Похоже, что это произошло в запросе pull request #1519

2
ответ дан 3 December 2019 в 00:21

Теги

Похожие вопросы