【发布时间】:2013-08-04 07:40:06
【问题描述】:
我正在为一个依赖于私有 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,因为后者不支持this 答案中的install_requires 和dependency_links 参数。
上述设置文件无法访问私有存储库并出现 404 错误 - 这是意料之中的,因为 GitHub 会向未经授权的私有存储库请求返回 404。但是,我不知道如何使setuptools 进行身份验证。
以下是我尝试过的一些事情:
在
dependency_links中使用git+ssh://而不是https://,就像使用pip安装repo 一样。这失败了,因为 setuptools 无法识别此协议(“未知 url 类型:git+ssh”),尽管 distribute documentation 说它应该。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) 升级到最新版本。还尝试安装分发虽然this overview 说它已合并回setuptools。不管怎样,没有骰子。
目前我只有setup.py 打印出一个警告,即必须单独下载私人回购。这显然不太理想。我觉得我错过了一些明显的东西,但想不出它可能是什么。 :)
没有答案的重复问题here。
【问题讨论】:
标签: python github setuptools