如何配置pip安装指定版本的依赖包而非默认最新版本
锁定依赖包c为2.3.0的操作方案
以下几种方案均可以实现需求,可根据你的使用场景选择:
方案1:修改requirements.txt显式声明版本
直接在requirements.txt中追加c==2.3.0的显式约束,pip会优先采用你显式声明的版本,优先级高于包a、包b的间接依赖约束。
修改后的requirements.txt示例:
a b c==2.3.0
修改后直接执行pip install -r requirements.txt即可。
方案2:不修改requirements.txt,安装时临时指定约束
如果你不想改动现有requirements.txt文件,可以在执行安装命令时直接指定c的版本,命令如下:
pip install -r requirements.txt c==2.3.0
也可以通过--constraint参数传入约束规则:
pip install -r requirements.txt --constraint <(echo "c==2.3.0")
注意事项
如果使用的是20.3版本之前的旧版pip,其依赖解析器逻辑存在缺陷,可能出现不遵守显式约束的情况,建议先升级pip到最新版本再执行上述操作,升级命令为:pip install --upgrade pip
你指定的c==2.3.0完全满足包b的c>=1.2的版本要求,不存在依赖冲突,上述方案执行后都会正常安装2.3.0版本的c,不会自动升级到4.0版本。
内容的提问来源于stack exchange,提问作者RaghavendraB
相关产品推荐
相关产品推荐

