树莓派下基于Miniconda安装Python3.7搭建yolov4-cpu环境的问题咨询
树莓派下配置Python3.7的conda环境解决方案
先纠正两个常见认知偏差
- 你查到的“Miniconda在树莓派上最高仅支持Python 3.4”是非常老旧的资料结论。目前针对树莓派常用的64位aarch64、32位armv7l架构,Miniconda官方通道已经提供Python 3.7及以上版本的安装包,仅armv6这类极老旧架构(比如树莓派Zero)才停留在低版本支持
- 不建议让conda调用你手动编译安装的Python版本。conda环境的核心是统一的依赖路径管理,手动安装的Python脱离conda的包管理体系,强行绑定会出现依赖路径混乱、包安装位置错位的问题,完全没必要走这条路径。
现有Berryconda环境的操作步骤
你之前执行conda install python=3.7失败,本质是两个原因:一是Berryconda默认通道没有适配arm架构的Python3.7包,二是在base环境直接升级Python会和现有3.6版本的依赖产生版本冲突。按以下步骤操作即可解决:
- 修正conda通道配置,添加适配arm架构的conda-forge源,依次执行命令:
conda config --add channels conda-forgeconda config --set channel_priority strict - 先升级base环境的conda版本,避免旧版本的包索引问题:
conda update -n base conda - 跳过base环境的版本修改,直接创建指定Python3.7的独立目标环境:
conda create -n yolov4-cpu python=3.7 pip - 激活创建好的环境,安装剩余依赖:
- 激活环境命令:
conda activate yolov4-cpu - 先安装conda源提供的通用依赖:
conda install matplotlib opencv - 再按版本要求安装pip侧的依赖:
pip install opencv-python==4.1.1.26 lxml tqdm tensorflow==2.3.0rc0 absl-py easydict pillow
- 激活环境命令:
备选方案:32位树莓派系统适配
如果你的树莓派运行32位Pi OS,Berryconda的包适配度较差,可以卸载现有Berryconda,下载对应架构的官方Miniconda安装包完成安装后,重复上述源配置、创建环境的步骤即可。
常见踩坑提醒
- 不要手动修改conda的二进制路径指向自行编译的Python,会彻底破坏conda的虚拟环境隔离机制,导致依赖完全混乱
- 如果创建环境时提示找不到Python3.7包,确认系统架构支持的前提下,可优先选择兼容的Python3.8版本替换,同时匹配对应版本的tensorflow依赖即可。
内容的提问来源于stack exchange,提问作者Prithviraj Kanaujia
相关产品推荐
相关产品推荐

