1.1 RKNN-Toolkit2环境安装

前言

在 Ubuntu 20.04 x86_64 环境下安装 RKNN-Toolkit2 时,非常容易遇到环境冲突、依赖爆炸、protobuf 报错、Conda 源失效等问题。本文基于实际踩坑总结,给出最稳定、无冲突、可复现的安装方案,使用 Python 原生虚拟环境,与 ROS、Anaconda 完全隔离。


一、环境信息

  • 系统:Ubuntu 20.04
  • Python:3.8.13
  • RKNN-Toolkit2:v1.6.0
  • 环境:原生 venv 虚拟环境(强烈不推荐 Anaconda

二、常见踩坑总结

  1. Anaconda 环境混乱:源 404、Python 版本混杂、与 ROS 库冲突
  2. 权限与路径污染--user 安装导致包路径混乱,优先加载系统旧库
  3. 依赖爆炸:自动安装 TensorFlow 2.8.0,依赖已下架的 tf-estimator-nightly
  4. Protobuf 版本错误:系统旧版缺少 builder 模块,导入 ONNX 失败
  5. 虚拟环境缺失:Ubuntu 默认未安装 python3.8-venv,无法创建环境

三、一键安装流程(无坑版)

1. 安装虚拟环境依赖

sudo apt update
sudo apt install python3.8-venv -y

2. 创建并激活虚拟环境

cd ~/study/rk3588/
python3.8 -m venv rk_venv
source rk_venv/bin/activate

3. 升级 pip

pip install --upgrade pip

4. 安装核心依赖(固定版本)

pip install protobuf==3.20.3
pip install onnx==1.14.1 onnxruntime==1.16.0 onnxoptimizer==0.2.7
pip install psutil tqdm ruamel.yaml scipy opencv-python

5. 安装 RKNN-Toolkit2(关键:不装无用依赖)

cd rknn-toolkit2-v1.6.0/rknn-toolkit2/packages
pip install rknn_toolkit2-1.6.0+81f21f4d-cp38-cp38-linux_x86_64.whl --no-deps

6. 验证安装

from rknn.api import RKNN

本地成功导入

无报错即为成功。


四、环境使用规范

  • 激活环境:source rk_venv/bin/activate
  • 退出环境:deactivate
  • 禁止:不要在虚拟环境外使用 RKNN
  • 禁止:不要随意升级 protobuf、onnx 版本

五、高频报错解决方案

1. ImportError: cannot import name ‘builder’ from ‘google.protobuf.internal’

原因:系统 protobuf 版本过低
解决:

pip install protobuf==3.20.3 --force-reinstall

2. ERROR: No matching distribution found for tf-estimator-nightly

原因:自动安装 TensorFlow 导致
解决:安装 RKNN 必须加 --no-deps

3. Conda 404 错误

原因:镜像失效
解决:放弃 Anaconda,使用 venv 虚拟环境

4. venv: ensurepip is not available

解决:

sudo apt install python3.8-venv -y

六、总结

RKNN-Toolkit2 安装的核心在于:

  • 环境必须隔离,不与 ROS/Anaconda 混用
  • 依赖最小化,不安装 TensorFlow 等无关包
  • 版本严格固定,尤其是 protobuf 和 onnx

按照本文流程安装,可避免 99% 的环境问题。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐