MENU

记录:为乐高EV3安装带更新Python版本的ev3dev系统 / 安装所需Python软件包(1)

• 2025 年 05 月 31 日 • 阅读: 86 • 未分类

这里仅给出基于这个讨论中的 Debian 10 系统镜像做修改的方法。

由于 EV3 本身性能较低,安装软件包并不方便,下面我们以“为 Python 3.11 虚拟环境安装 Flask flask-cors evdev 软件包”作为示例给出操作方法。当然,想要在这个基础上做出其他修改,比如安装其他版本的 Python 都是可以的。

TankBotLegoMindstormsEV3.jpg

思路:修改系统,安装软件包后,再重新打包并烧录新系统到 SD 卡。

为了方便安装软件包,推荐使用 Ubuntu 22.04 系统(需安装 Docker,安装过程略)执行下面的操作。在 Windows 上也可直接使用 WSL,可从 Microsoft Store 获取。

  • 首先,安装所需软件包并拉取 Docker 镜像。
# 添加 ppa 源,用于安装 brickstrap 打包工具
sudo add-apt-repository ppa:ev3dev/tools
# 安装所需软件包,用于后续运行架构不同的Docker镜像、打包系统镜像
sudo apt-get update && sudo apt-get install -y qemu-user-static brickstrap
# 在 Docker 中注册 QEMU 仿真模拟器
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# 拉取我们要修改的系统 Docker 镜像
sudo docker pull growflavor/ev3images:ev3dev10imgv02b
# 启动容器并切换到 robot 用户
sudo docker run -e QEMU_CPU=arm926 -it growflavor/ev3images:ev3dev10imgv02b su -l robot
  • 接下来,你将看到 robot@ 开头的提示符。执行下面命令为自带的 Python 3.11 虚拟环境安装软件包:
./venv311/bin/pip install Flask flask-cors evdev
  • 安装完成后,登出。
exit
  • 然后,将刚刚修改的容器提交到镜像,打包为 img 文件。
# 列出所有容器,获取刚刚修改的容器ID
sudo docker ps -a
# 提交到镜像
sudo docker container commit 上一步查询到刚刚更改的容器ID.例如b09c76f149e1 ev3d10new:latest
# 用 brickstrap 工具打包得到可烧录的镜像
sudo brickstrap create-tar ev3d10new:latest ev3dev10new.tar
sudo brickstrap create-image ev3dev10new.tar ev3dev10new.img
  • 将上面得到的 img 文件用烧录工具烧录到 SD 卡即可。

备注:如果遇到 Docker 镜像拉取失败,可参考 https://zhuanlan.zhihu.com/p/24461370776 配置 mirror。

最后编辑于: 2025 年 06 月 03 日