带外索引的Pip分辨率

2024-04-29 16:29:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用两个python包存储库建立一个构建管道。 我希望pip首先在公共的PyPi repo中进行搜索,只有当它在那里找不到包或版本时,才应该在另一个私有repo(AWS代码工件)中进行查找

我的pip配置是

global.index-url='https://pypi.org/simple'
global.extra-index-url='***.codeartifact.eu-central-1.amazonaws.com/pypi/public/simple/'

请注意,此codeartifact repo将PyPi作为上游,也就是说,我可以单独通过此repo获取所有依赖项

输出如下所示

Looking in indexes: https://pypi.org/simple, ***.codeartifact.eu-central-1.amazonaws.com/pypi/public/simple/
[...]
Collecting blinker==1.4
  Downloading https://***.codeartifact.eu-central-1.amazonaws.com/pypi/public/simple/blinker/1.4/blinker-1.4.tar.gz (111 kB)
Collecting boto3==1.16.40
  Downloading https://***.codeartifact.eu-central-1.amazonaws.com/pypi/public/simple/boto3/1.16.40/boto3-1.16.40-py2.py3-none-any.whl (130 kB)
Collecting callee==0.3.1
  Downloading https://***.codeartifact.eu-central-1.amazonaws.com/pypi/public/simple/callee/0.3.1/callee-0.3.1.tar.gz (19 kB)
[...]

您可以看到,尽管codeartifact只是额外的索引,但每个依赖项都是从中下载的

当I删除上游时,即只有少数私有包驻留在codeartifact repo中,则首先检查PyPi

[...]
Collecting blinker==1.4
  Downloading blinker-1.4.tar.gz (111 kB)
Collecting boto3==1.16.40
  Downloading boto3-1.16.40-py2.py3-none-any.whl (130 kB)
Collecting callee==0.3.1
  Downloading callee-0.3.1.tar.gz (19 kB)
[...]

你能帮我理解这种行为吗


Tags: httpspypicomkbrepopublicboto3simple