树莓派UBUNTU 24.04 PART 5 树莓派4b UBUNTU 系统安装miniconda、opencv、tensorflow
按照kimi给的操作
一、安装miniconda
在树莓派(Ubuntu 系统,aarch64 架构)上安装 Conda,只需下载对应架构的 Miniconda 安装脚本并执行即可。下面给出 2025 年仍适用的完整流程(已在近期教程验证)。
确认系统架构
bash
复制
uname -m # 应输出 aarch64下载 Miniconda(Python 3.8 版,兼容树莓派 64 位)
bash
复制
# 官方镜像(国内可访问)
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh注意:Miniconda 版本 ≤4.10 在 aarch64 上更稳定。
安装
bash
复制
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh按提示回车阅读协议 → 输入
yes→ 指定或接受默认安装路径(~/miniconda3)。最后一步询问 “Initialize Miniconda3?” 选
yes,安装脚本会自动把conda初始化代码写入~/.bashrc。
让当前 shell 生效
bash
复制
source ~/.bashrc # 或者重新登录命令提示符前出现 (base) 即成功。
换国内源(可选,提速明显)
bash
复制
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes创建你的第一个环境(示例 Python 3.9)
bash
复制
conda create -n py39 python=3.9 -y
conda activate py39此时即可 conda install 或 pip install 任何包。
常用后续命令
bash
复制
conda update -n base conda # 升级 conda 自身
conda env list # 查看已有环境
conda deactivate # 退出当前环境一句话总结
下载 aarch64 版 Miniconda → bash 安装 → 重启 shell → conda 已可用;换源与建环境步骤与 x86 完全一致。
pi@pi-desktop:~$ conda create -n py39 python=3.9 -y conda: command not found
编辑
复制
分享
报错 conda: command not found 说明 当前 shell 找不到 conda 可执行文件,99 % 是因为:
你还没装 Miniconda/Anaconda;
或者装了,但 初始化代码没写进
~/.bashrc,导致新终端找不到路径。
下面给出“先确认 / 再修复”最简流程,2 分钟搞定。
确认到底有没有装
bash
复制
ls ~/miniconda3/bin/conda # 或 ~/anaconda3/bin/conda如果返回
No such file or directory→ 真没装,跳到第 2 步。如果存在 → 只是没初始化,跳到第 3 步。
还没装 Miniconda?按上篇 30 秒装
bash
复制
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh
# 最后一步询问 “initialize Miniconda3?” 一定选 yes装完 关闭终端再打开,提示符出现 (base) 即可。
已装但找不到命令 → 手动初始化
bash
复制
# 把 conda 的 PATH 写进 ~/.bashrc
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.bashrc
# 再 source 一次
source ~/.bashrc(如果你装的是 anaconda,把路径换成 ~/anaconda3/bin)
验证
bash
复制
conda -V # 应输出 conda 4.x.x
conda create -n py39 python=3.9 -y不再提示 command not found。
一句话总结
要么真没装,要么装了但 PATH 没加;按上面 1→3 步确认并初始化即可。
报错!
pi@pi-desktop:~$ conda activate cv CondaError: Run 'conda init' before 'conda activate'
编辑
复制
分享
出现
CondaError: Run 'conda init' before 'conda activate'
说明 当前 shell 还没有被 conda 初始化(缺少 conda 的 shell 函数与路径设置)。
按提示跑一次 conda init 即可,步骤如下(30 秒搞定)。
先确保 conda 可执行文件存在
bash
复制
ls ~/miniconda3/bin/conda # 或 ~/anaconda3/bin/conda如果返回
No such file or directory→ 还没装 Miniconda,请先安装(参考前面回答)。如果文件存在 → 继续下一步。
执行初始化(以 bash 为例)
bash
复制
~/miniconda3/bin/conda init bash若用 zsh 就把
bash换成zsh;fish 用户换fish。
这条命令会自动把以下内容追加到 ~/.bashrc:
bash
复制
# >>> conda initialize >>>
__conda_setup="$('~/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
eval "$__conda_setup"
# <<< conda initialize <<<让配置立即生效
bash
复制
source ~/.bashrc # 或重新登录 / 重开终端验证
bash
复制
conda activate cv
# 不再报错,提示符前面出现 (cv) 即成功一句话总结
~/miniconda3/bin/conda init bash && source ~/.bashrc 再 conda activate cv,即可解决。
二、安装opencv
这个版本的opencv怎么安装
编辑
复制
分享
搜索
conda 安装 opencv 25.9.1
44 个结果
目前 conda-forge 频道里 OpenCV 最新只到 4.12.0(对应 Python 3.8–3.12 的 aarch64/amd64 包均已就绪),并没有“25.9.1”这个版本号。
因此“conda 25.9.1”实际上指的是 conda 自身的 2025-10 月维护版,而不是 OpenCV 的版本。
想在 conda 25.9.1 环境里装 OpenCV,只需按常规流程即可:
确保已用 conda 25.9.1 建好环境
bash复制
conda create -n cv python=3.9 -y conda activate cv从 conda-forge 安装现成二进制(aarch64 同样适用)
bash复制
conda install -c conda-forge opencv # 核心模块 # 如需额外算法再装 conda install -c conda-forge opencv-contrib这会把 4.12.0 版(截至 2025-09)装进当前环境。
验证
Python复制
python -c "import cv2,sys;print(cv2.__version__,sys.platform)" # 输出示例:4.12.0 linux
如果后续 conda-forge 上架了更高版本,直接
bash
复制
conda update -c conda-forge opencv即可平滑升级。
opencv-contrib 这个名字在 conda-forge 里根本不存在,所以报 PackagesNotFoundError。
正确的包名是 opencv-contrib-python,但它 只存在于 PyPI 渠道;conda-forge 把 contrib 模块直接打在 opencv 包里(4.x 以后默认就带)。
因此你有两条路:
继续用 conda-forge(最简,contrib 模块已集成)
bash
复制
conda install -c conda-forge opencv # 主包已含 xfeatures2d/face/等等装完后验证:
Python
复制
python -c "import cv2, cv2.xfeatures2d; print('contrib ok')"能 import 就说明 contrib 可用。
非要用原版的 opencv-contrib-python(与 conda 混装也没问题)
bash
复制
pip install opencv-contrib-python注意:pip 版会把 conda 的 opencv 覆盖掉,两者二选一即可。
一句话总结
conda-forge 没有单独的 opencv-contrib 包;直接 conda install -c conda-forge opencv 就已自带 contrib 模块,无需再装。
三、安装tensorflow
最简单:直接装官方已编译的 aarch64 wheel(PyPI)
bash
复制
conda activate cv # 或你正在用的环境
pip install tensorflow # 默认装 2.18.0(manylinux2014-aarch64)树莓派 4/5 64 位系统实测可装,2 GB 内存即可导入,首次 import 会慢 1-2 min。
想用 conda-forge(同样现成包)
bash
复制
conda install -c conda-forge tensorflow # 当前版本 2.15.0conda-forge 版依赖更紧凑,适合后续再叠其他科学包。
自己源码编译(仅当你要开 CUDA / 自定义算子)
不建议在树莓派本地编,通宵 6 h+ 且容易 OOM;真需要可用交叉编译或 Google 官方脚本 build_rpi.sh(参考 tensorflow 源码 tools/ci_build)。
验证
Python
复制
python -c "import tensorflow as tf;print(tf.__version__, tf.config.list_physical_devices('GPU'))"输出版本号即成功;GPU 栏空是正常(树莓派只有 CPU)。
一句话总结
pip install tensorflow 或 conda install -c conda-forge tensorflow 二选一即可解决 import 报错。
LibMambaUnsatisfiableError: Encountered problems while solving: - package tensorflow-2.9.1-mkl_py39h7b4050b_0 is excluded by strict repo priority
编辑
复制
分享
这条信息说明:
“strict” 渠道优先级 把 defaults 里唯一可用的 tensorflow-2.9.1-py39 包给 踢掉了,因为 conda-forge 里同名包版本号更低或根本不存在,导致 无 viable 选项。
把优先级临时放宽即可,两步搞定:
临时关掉 strict(仅对本次安装生效)
bash
复制
conda install tensorflow=2.9 --no-channel-priority或永久改成 flexible:
bash
复制
conda config --set channel_priority flexible
conda install tensorflow=2.9如果仍提示缺包,就显式指定 defaults
bash
复制
conda install -c defaults tensorflow=2.9(conda-forge 没有 py39 的 2.9 包,defaults 才有)
最快退路:直接用 pip(wheel 官方已提供)
bash
复制
pip install tensorflow==2.9.1与 conda 环境混装无冲突,同样能 import tensorflow。
一句话总结
“strict repo priority” 把 defaults 的 2.9.1 屏蔽了;加 --no-channel-priority 或 conda config --set channel_priority flexible 再装即可,不想折腾就 pip install tensorflow==2.9.1。
