我正在为一个依赖于私有 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
打印出一个警告,私人回购必须单独下载。这显然不太理想。我觉得我漏掉了一些很明显的东西但我想不起来会是什么。:)
没有答案的重复问题。