首页 > 解决方案 > setup.py install_requires 来自私有 pypi 的最新版本

问题描述

我有一个我维护的库,它有一个依赖项(install_requires),它只能通过 ProGet 上的“私有”pypi 获得,我无法弄清楚如何在构建过程中获得它。我引用私有,因为实际上不需要身份验证。

我熟悉PEP 508语法,但是,这似乎只适用于 repos 或特定构建的链接。例如,以下两项都对我有用:

setup(
    ...
    install_requires=[
        "<libraryname> @ git+ssh://git@git.<domain>.com:port/<reponame>.git@branch",
        "<libraryname> @ http://proget.<domain>.com/pypi/private-pypi/download/<reponame>/1.5.0/<reponame>-1.5.0.tar.gz"
    ],
    ...

在这种情况下,我不想挂钩相关依赖项的特定版本。相反,我想要类似的东西:

setup(
    ...
    install_requires=["<libraryname>"],
    extra_index_url="http://proget.<domain>.com/pypi/private-pypi/simple"
    ...

据我所知,ProGet 上没有支持自动获取“最新”的端点。

这个问题有几个过去的答案,但不幸的是,大多数要么提到不推荐使用/已删除的解决方案(例如dependency_links),要么提到库的 pip 安装程序具有一些额外的配置或标志(例如.pypirc配置)。我希望与库捆绑在一起的代码能够处理依赖项安装,而无需用户进行任何额外的设置。

不确定这是否有必要回答这个问题,但相关的库版本:

setuptools==45.1.0
pip==19.2.3

提前致谢!

发布后,我发现这个相关的问题没有答案

标签: pythonsetuptoolssetup.pypypi

解决方案


推荐阅读