dependency_links已弃用时setuptools如何配置额外Python包索引地址
setuptools从额外索引安装依赖的替代方案
dependency_links参数已在pip 20.0及后续版本中被默认废弃,目前可以按以下两种场景选择实现方案:
方案1:直接在依赖声明中绑定包地址(无需用户额外操作)
按照PEP 508规范,在install_requires中直接写入依赖包的完整下载地址即可,setup.py示例如下:
from setuptools import setup setup( name='somepackage', install_requires=[ # 格式为:<包名> @ <完整包文件地址> 'somedep @ https://pypi.example.org/pypi/somedep/somedep-1.2.3-py3-none-any.whl' ] )
如果使用当前官方推荐的pyproject.toml配置文件替代setup.py,写法如下:
[project] name = "somepackage" dependencies = [ "somedep @ https://pypi.example.org/pypi/somedep/somedep-1.2.3-py3-none-any.whl" ]
方案2:指定额外索引源(不绑定固定包地址)
如果希望动态从私有索引拉取对应版本的依赖,不需要绑定固定的包文件地址,可告知用户安装时添加额外索引参数:
pip install somepackage --extra-index-url https://pypi.example.org/pypi/
如果是本地开发,也可以在pip配置文件中永久添加该额外索引,避免每次输入参数。
内容的提问来源于stack exchange,提问作者Trent McCormick
相关产品推荐
相关产品推荐

