如何在conda install中排除特定版本及构建的软件包?
解决conda安装zstd时规避特定构建版本的问题
需求背景
需要安装linux-64架构的zstd包,但conda自动选择的main频道版本zstd=1.5.5=hc292b87_0会引发后续问题,明确需求如下:
- 禁止安装版本+构建为
1.5.5=hc292b87_0的包 - 允许安装1.5.5之后的所有版本
- 允许安装版本1.5.4、构建为
hc292b87_0的包 - 允许安装版本1.5.5、构建为
hfc55251_0的包
有效解决方案
最终通过指定具体构建版本的命令成功满足需求,命令如下:
conda install --name base --channel conda-forge --yes mamba "zstd=1.5.5=hfc55251_0"
失败的规格尝试总结
尝试过多种规格写法均未达到预期效果,具体如下:
zstd=1.5.5!=hc292b87_0:conda判定为无效规格zstd!=1.5.5=hc292b87_0:最终安装了1.5.4=hc292b87_0,未满足允许1.5.5后续版本的需求zstd!=hc292b87_0:conda将构建号识别为版本号,仍安装了问题包zstd!=*=hc292b87_0:*被当作字面版本处理,依旧安装了问题包zstd>1.5.5|1.5.5=hfc55251_0:逻辑解析不符合预期,未实现需求zstd>1.5.4|1.5.4=hc035e20_0:逻辑被错误解析,无法满足要求
环境说明
当前使用conda版本为23.7.4
内容的提问来源于stack exchange,提问作者valid
相关产品推荐
相关产品推荐

