完全覆盖人工 PyPI 包
Full overriding artifactory PyPI package
我希望能够为我们的用户透明地覆盖来自上游 PyPI 的一些包。
我有以下 Artifactory 设置:
- 本地存储库 X-local
- 远程存储库 X-remote(指向 PyPI)
- 虚拟存储库 X-virtual
对于我的环境的一些特殊性,我想确保用户只从 X-local 下载包 'mypackage'。
目前我在 X-remote 中添加了禁止表达式“**/mypackage-*”的规则,并且我将 "mypackage" 的内部版本发布到 X-local。这一切都很好,直到 "mypackage" 有了轮子或发布了新版本。
似乎当 pip 去列出 "X-virtual" 中 "mypackage" 的所有工件时,它不仅找到了 X-local 中的工件,还找到了 X-Remote 中的工件。有什么办法可以阻止吗?简而言之,防止列出远程的所有包。
将 "**/*mypackage*"
添加到黑名单解决了这个问题。如果你有像 "mypackage2" 这样的包,这可能会导致问题,但它适用于我的用例。
根据 JFrog 支持人员的建议
我希望能够为我们的用户透明地覆盖来自上游 PyPI 的一些包。
我有以下 Artifactory 设置:
- 本地存储库 X-local
- 远程存储库 X-remote(指向 PyPI)
- 虚拟存储库 X-virtual
对于我的环境的一些特殊性,我想确保用户只从 X-local 下载包 'mypackage'。
目前我在 X-remote 中添加了禁止表达式“**/mypackage-*”的规则,并且我将 "mypackage" 的内部版本发布到 X-local。这一切都很好,直到 "mypackage" 有了轮子或发布了新版本。
似乎当 pip 去列出 "X-virtual" 中 "mypackage" 的所有工件时,它不仅找到了 X-local 中的工件,还找到了 X-Remote 中的工件。有什么办法可以阻止吗?简而言之,防止列出远程的所有包。
将 "**/*mypackage*"
添加到黑名单解决了这个问题。如果你有像 "mypackage2" 这样的包,这可能会导致问题,但它适用于我的用例。
根据 JFrog 支持人员的建议