当前位置: 首页 > 知识库问答 >
问题:

Python SetupTools:如何在install_requires下列出私有存储库?

林弘壮
2023-03-14

我正在为一个依赖于私有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_requiresdependency_links参数。

上面的安装文件无法访问私有Repo,出现404错误-这是意料之中的,因为GitHub将404返回给对私有存储库的未经授权的请求。但是,我不知道如何使setuptools进行身份验证。

>

  • dependency_links中使用git+ssh:// 而不是https://,就像在使用pip安装repo时一样。这将失败,因为setuptools不能识别这个协议(“未知的url类型:Git+SSH”),尽管分发文档说它应该识别。与git+httpsgit+http类似。

    https:// : @github.com/... -仍然得到404。(此方法也不能用于命令行中的curlwget-尽管curl-u -o 有效。)

    将setuptools(0.9.7)和virtualenv(1.10)升级到最新版本。我也尝试安装distribute,但这篇概述说它已经合并回SetupTools。不管怎样,没有骰子。

    重复的问题,这里没有答案。


  • 共有1个答案

    邴烨
    2023-03-14

    我试图让这与pip安装工作,但上面是不工作的我。从[1]中我了解到应该使用PEP508标准,从[2]中我检索了一个实际有效的示例(至少对于我的情况)。

    请注意;这是PIP 20.0.2Python 3.7.4上的

    setup(
        name='<package>',
    ...
        install_requires=[
            '<normal_dependency>',
             # Private repository
            '<dependency_name> @ git+ssh://git@github.com/<user>/<repo_name>@<branch>',
             # Public repository
            '<dependency_name> @ git+https://github.com/<user>/<repo_name>@<branch>',
        ],
    )
    

    在以这种方式指定了我的包之后,安装工作正常(还有-e设置,并且不需要指定--process-dependency-links)。

     类似资料:
    • 问题内容: 我正在为依赖私有GitHub存储库的项目创建文件。文件的相关部分如下所示: 我使用而不是因为后者不支持此答案的和参数。 上述设置文件无法访问私有存储库,并显示404错误- 这是可以预期的,因为GitHub将404返回给未经授权的私有存储库请求。但是,我不知道如何进行身份验证。 这是我尝试过的一些方法: 如果使用来安装仓库,请使用而不是in 。这会失败,因为setuptools无法识别此

    • 问题内容: 我正在寻找一种方法来列出在Informix上运行的数据库中的所有存储过程。 数据库中是否有表格列出存储过程以及有关存储过程的详细信息? 问题答案: 就在这里。叫做。尝试此操作以查看所有内容:

    • 我有一个Amazon S3存储桶,所有设置都处于默认模式。当我转到我的Bucket权限选项卡并查看Public access/Everyone部分时,所有选项都为空,因此所有内容都是私有的。 现在我制作一个带有很长随机sha1-hash的文件夹,我在这个文件夹中上传一些文件和子文件夹,并将整个文件夹公开。是否可以检测(列出)此文件夹? 看起来不错。但也许还有其他方法可以检测我的公用文件夹?

    • 问题内容: 我正在使用该方法在Go中生成私钥/公钥对。我想将私钥存储在用户计算机上的文件中,并在程序启动时将其加载。有一种封送公钥的方法,但没有封送私钥的方法。我应该简单地自己滚动还是有推荐的存储私钥的方法? 问题答案: 这是一个代码示例,演示了Go中密钥的编码和解码。知道您需要连接几个步骤会有所帮助。加密算法是第一步,在这种情况下为ECDSA密钥。然后,您需要标准编码,x509是最常用的标准。最

    • 问题内容: 我无法从私有Docker Hub存储库中拉到在Vagrant上运行的本地Kubernetes设置中: 容器“ hellonode-n1hox”中的容器“ hellonode”正在等待启动:无法提取图像 无法提取图像“用户名/ hellonode”:错误:找不到图像用户名/ hellonode:最新 我已经按照此处所述通过Vagrant在本地设置了Kubernetes,并使用 kubec

    • 问题内容: 我有一个标记为的docker 映像,并且在dockerhub上有一个名为的私有仓库。 当我推动我的工作时,我最终总是会碰到公共仓库。 具体将我的图片推送到我的私人仓库的确切语法是什么? 问题答案: 您需要先使用正确标记图像: 然后码头工人使用相同的标签推。 例: