我有一个自动化的机器构建,它安装了一个Python包(包a)和大量依赖项(包X、包Y和包Z)。包A没有固定包X、Y或Z的版本,所以即使我为包A固定版本,也有很多次我的构建因包X中的中断更新而失败
为了解决这个问题,我计划做一个要求.txt固定A、X、Y和Z的显式版本的文件(而不仅仅是A,现在就是这样)。假设pip
对固定和可传递依赖关系解析都有适当的支持,这应该是可行的。在
这似乎适用于我当前版本的pip
,但是我发现了很多关于pip
如何处理这些事情的相互矛盾的信息(例如,this thread有100条评论在讨论pip
依赖关系解析不好)。在
所以我的问题是:
pip
中是如何工作的?如果包A依赖于X>;=7,并且我的顶层要求.txt指定X==8,pip
是否可能安装xversion9,因为它首先查看A并尝试获取可传递依赖项的最新版本?在pip
中的工作方式?我能找到的最好的结果是this page,但是我在网上看到的一些评论让人觉得这个页面在传递依赖关系方面并不是100%正确。在谢谢!在
我遇到了同样的问题,并决定使用
pip-tools
而不是普通的pip
来生成和维护它要求.txt生产代码的文件。在您有一个使用in Knack's answer here的示例
相关问题 更多 >
编程相关推荐