在树莓派B+上通过Anaconda安装OpenCV遇连接问题求助
解决树莓派上用Anaconda安装OpenCV的问题
我来帮你捋捋这个问题——树莓派的ARM架构在Conda生态里确实一直是个小痛点,你遇到的报错本质是大部分Conda通道没提供ARMv7L版本的OpenCV包,而且Conda会自动根据你的硬件架构拼接下载路径,导致找不到对应资源。下面给你几个可行的解决方案:
方案1:用Conda-Forge通道尝试安装
Conda-Forge是社区维护的通道,对ARM架构的支持比官方或小众通道好很多。你可以试试这条命令:
conda install -c conda-forge opencv
如果直接安装报错,你可以先搜索该通道支持的ARM版本:
conda search -c conda-forge opencv --platform linux-armv7l
然后指定具体版本安装,比如找到的是4.5.5版本,就用:
conda install -c conda-forge opencv=4.5.5
方案2:切换到Pip安装(更推荐)
因为Conda对ARM的支持一直不完善,而Pip现在对树莓派的ARM架构适配得更好。先激活你的Conda环境,然后执行:
pip install opencv-python
如果需要OpenCV的扩展模块(比如特征检测、额外算法),就安装contrib版本:
pip install opencv-contrib-python
方案3:源码编译(最稳妥,适合定制需求)
如果上面两种方法都不行,源码编译是最可靠的方式,步骤大概是:
- 先安装系统依赖:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev - 安装Python依赖:
conda install numpy - 克隆OpenCV和OpenCV_contrib源码:
git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git - 创建编译目录并配置CMake(注意指定你的Conda环境Python路径和contrib模块路径)
- 执行
make -j4(根据树莓派核心数调整,比如4核用-j4),然后sudo make install
关于你遇到的通道报错解释
你用的poppy-project通道本身可能没有提供ARMv7L架构的OpenCV包,Conda会自动在通道URL后拼接/linux-armv7l/和/noarch/去查找资源,但这些路径在该通道下并不存在,所以才会出现连接错误。这类小众通道通常只支持x86架构,不建议在树莓派上使用。
内容的提问来源于stack exchange,提问作者Zac P
相关产品推荐
相关产品推荐

