如何为所有python依赖项指定存储库?



我使用pip/poetry/Pipenv来安装依赖项,这取决于在给定的月份中什么更少损坏和更少痛苦。我有一个私有的pypi兼容的repo,并且有很多依赖于公共的pypi。

我可以看到,当私有repo中缺少依赖项或私有repo配置错误时,pip将尝试从公共pypi中获取依赖项,这最好是错误的包,最坏的情况是恶意代码。

是否有办法告诉pip, poetry和/或Pipenv它应该在每个包的基础上使用哪个存储库而不存在回退行为?

看起来在公共pypi上注册我所有的私有包名被认为是名称占用,并且违反了pypi的规则。

这与如何从私有存储库安装的各种问题不同。问题是,当不可避免地存在两个或多个存储库时,如何强制包管理器只从指定的存储库安装包。

您可以在pipenv中指定任何您喜欢的包索引。这是来自pipenv的高级用法文档中的一个示例。更多的用法和单独的用例可以在这里找到

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[[source]]
url = "http://pypi.home.kennethreitz.org/simple"
verify_ssl = false
name = "home"
[dev-packages]
[packages]
requests = {version="*", index="home"}
maya = {version="*", index="pypi"}
records = "*"

最新更新