如何在PyPi存储库上使用包含和排除模式

Adi Vizgan
2023-01-22 11:09

常规的包括而且排除模式字段不能在PyPi存储库上工作。要配置能够在这些存储库上工作的模式,必须将重点放在元数据(不是名称)存储的包。

决议

这里有一个例子:假设您将一个包上传到本地PyPi存储库,命名为hello1234,版本0.0.1.在远程PyPi存储库中,有一个版本发布这个包裹。如果你执行PIP安装hello1234命令,您应该会发现Artifactory将转到远程存储库并获取版本发布:

用户添加图片

现在看一下缓存你应该看到元数据文件位于一个名为.pypi被称为hello1234.html。你接下来要做的是放置以下内容排除远程存储库中的模式:.pypi / hello1234。*。这将正在下载的元数据文件清晰的缓存。当PIP安装hello1234命令再次执行时,您应该会看到该版本0.0.1已经从本地存储库中获取:
用户添加图片

请注意:不管元数据文件的名称如何,所有元数据文件都以小写字母。因此,必须包含/排除模式总是要小写。例如,以排除命名的包哈尔(在远程存储库中使用所有大写字母编写),您将需要将排除模式设置为.pypi /哈尔。*。在执行此命令时,请祈祷返回的结果不是这样的消息:“对不起,Dave,恐怕我不能那样做。”☺