我正在为一个依赖于私有 GitHub 存储库的项目创建一个 setup.py文件。文件的相关部分如下:
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进行身份验证。
以下是我尝试过的一些方法:
在 dependency_links中使用 git+ssh://而不是 https://,就像我使用 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)和 viralenv (1.10)升级到最新版本。尽管 本概述说它已经被合并到 setuptools 中,但是它还是尝试安装 distribution。不管怎样,都没戏。
目前,我只是有 setup.py打印出一个警告,私人回购必须单独下载。这显然不太理想。我觉得我漏掉了一些很明显的东西但我想不起来会是什么。:)
没有答案的重复问题。