[英]Per line index url in requirements.txt
假设我有以下 PyPI:
现在假设标题为“ABC”的 package 存在于所有这些文件中,但不是同一事物(例如,“apples”,它们是所有 pypis 上的 3 个完全不同的包。)。 我如何在我的要求和 setup.py 中执行一些操作,将 map 名称更改为 package 以供 pypi 使用?
就像是:
package_def==1.2.3 --index-url=artifactory
apples==1.08 --index-url=gitlab # NOT FROM PUBLIC OR FROM ARTIFACTORY
package_abc==1.2.3 --index-url=artifactory
package_efg==1.0.0 # public pypi
我什至不知道在这种情况下我将如何配置 setup.py。
我真的不希望顶部有多个具有不同索引 url 的 requirements.txt。 我也不想要 --extra-index-url,因为它在使用私有 pypi 时可能会引入漏洞。
我试着用谷歌搜索,弄乱 requirements.txt 的顺序,把它分成不同的文件,等等。没有运气。 似乎最后一个 --index-url 总是用于安装所有包。
有任何想法吗?
问题回到 package 依赖规范通常是 state 需求的想法,它独立于应该如何满足需求。
所以依赖声明“foo==1.0.0”(作为 package 元数据的一部分声明的东西)意味着“我需要名为 foo 的 package,版本为 1.0.0”,这在原则上是独立于实现的。你可以安装那个 package使用来自 PyPI 的 pip,但您也可以使用不同的工具和/或不同的来源来满足该要求(例如 conda、从源安装等)。
这种区别是没有好的方法来做到这一点的原因。
有一些解决方法:
对于我的特定用例,我只是列出了我想要 pip 安装的 wheel 的完整链接,因为目前升级到 poetry 已经超出了 scope。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.