You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Anaconda通过.yml创建OpenCV环境时遇numpy依赖冲突求助

解决Anaconda创建OpenCV环境时的numpy依赖冲突问题

嘿,我之前也碰到过这种旧环境配置文件引发的依赖冲突问题——毕竟你这份yml里的包版本大多是2018年左右的,现在conda包仓库里的依赖关系已经更新了,旧版本组合很容易出现不兼容的情况。下面给你几个实用的解决思路:

方法1:简化配置文件,让conda自动匹配兼容版本

你的yml里指定了太多具体的包版本和build编号,这是触发冲突的核心原因。建议修改配置文件,只保留核心包名称,去掉版本号,让conda自动选择当前能互相兼容的版本组合:

修改后的cvcourse_windows.yml示例:

name: python-cvcourse
channels:
- defaults
- michael_wild
dependencies:
- python=3.6
- numpy
- opencv
- opencv-contrib
- keras
- tensorflow=1.10.*
- matplotlib
- scikit-learn
- jupyter
# 其他工具包只需写名称,无需指定版本

之后重新运行创建命令:

conda env create -f cvcourse_windows.yml

方法2:手动调整冲突包的版本

如果一定要保留部分旧版本,你可以先查询opencv-contrib=3.3.1对应的兼容numpy版本:

conda search opencv-contrib=3.3.1 --info

从搜索结果里找到它依赖的numpy版本,然后替换掉yml里原有的numpy==1.15.1=py36ha559c80_0,再尝试创建环境。

方法3:清理conda缓存后重试

有时候缓存的旧包信息会干扰依赖解析,先清理缓存再尝试:

conda clean --all
conda env create -f cvcourse_windows.yml

方法4:分步创建环境

如果上面的方法都不奏效,你可以先创建一个基础Python3.6环境,再逐个安装需要的包:

conda create -n python-cvcourse python=3.6
conda activate python-cvcourse
conda install numpy opencv opencv-contrib keras tensorflow=1.10.* matplotlib scikit-learn jupyter

这种方式下conda会逐个处理依赖,更容易找到兼容的版本组合。

另外注意,你原始yml里的prefix路径是C:\Users\Marcial\Anaconda3\envs\cvcourse_windows,如果你的用户名是Jaysurya,建议删掉这一行,让conda默认把环境安装到你的用户目录下,避免权限或路径匹配问题。

内容的提问来源于stack exchange,提问作者Jaysurya Reddy

火山引擎 最新活动