如何在requirements.in中依据package_2特定版本安装对应package_1版本
实现依赖特定版本package_2的package_1配置
你给出的语法package_1; package_2==specific_version是pip的环境标记语法,但它的作用是当满足package_2==specific_version条件时才安装package_1,而非安装适配该package_2版本的package_1。要实现“安装依赖特定版本package_2的对应package_1版本”,可以按以下方式处理:
方式1:直接指定兼容的package_1版本
如果明确知道适配package_2==specific_version的package_1版本是x.y.z,直接在requirements.in中写:
package_2==specific_version package_1==x.y.z
这种方式直接锁定两个包的版本,确保兼容性,是最稳妥的做法。
方式2:利用pip的依赖约束自动匹配
如果package_1的官方依赖声明里已经标注了与package_2的版本兼容关系,你可以强制指定package_2的版本,让pip自动挑选兼容的package_1版本:
package_2==specific_version package_1
此时pip会依据package_1的依赖规则,自动选择能适配package_2==specific_version的package_1版本。
注意:勿误用环境标记
你最初写的package_1; package_2==specific_version逻辑是仅当环境中已存在package_2的specific_version版本时,才安装package_1,如果环境里没有package_2或版本不符,这条配置会被忽略,不会安装package_1,这通常不是你想要的效果。
内容的提问来源于stack exchange,提问作者NicWorkAccount
相关产品推荐
相关产品推荐

