Я создаю setup.pyфайл для проекта, который зависит от частных репозиториев GitHub. Соответствующие части файла выглядят так:
from setuptools import setup
setup(name='my_project',
...,
install_requires=[
'public_package',
'other_public_package',
'private_repo_1',
'private_repo_2',
],
dependency_links=[
'https://github.com/my_account/private_repo_1/master/tarball/',
'https://github.com/my_account/private_repo_2/master/tarball/',
],
...,
)
Я использую setuptoolsвместо того , distutilsпотому что последнее не поддерживают install_requiresи dependency_linksаргументы за этот ответ.
Вышеупомянутый установочный файл не может получить доступ к частным репозиториям с ошибкой 404 - чего и следовало ожидать, поскольку GitHub возвращает 404 на неавторизованные запросы для частного репозитория. Однако я не могу понять, как сделать setuptoolsаутентификацию.
Вот несколько вещей, которые я пробовал:
Используйте
git+ssh://вместоhttps://in,dependency_linksкак если бы я устанавливал репо сpip. Это не удается, потому что setuptools не распознает этот протокол («неизвестный тип URL: git + ssh»), хотя в документации по распространению указано, что это необходимо. То жеgit+httpsиgit+http.https://<username>:<password>@github.com/...- до сих пор получить 404. (Этот метод не работает сcurlилиwgetиз командной строки либо - хотяcurl -u <username> <repo_url> -O <output_file_name>делает работу.)Обновление setuptools (0.9.7) и virtualenv (1.10) до последних версий. Также попытался установить дистрибутив, хотя в этом обзоре говорится, что он был снова объединен с setuptools. В любом случае, никаких кубиков.
В настоящее время я только что setup.pyраспечатал предупреждение о том, что частные репозитории необходимо загружать отдельно. Это явно далеко не идеально. Я чувствую, что мне не хватает чего-то очевидного, но не могу представить, что это могло быть. :)
Дубликат иш вопрос, без ответа здесь .