You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建包含多版本Python的Yocto镜像?适配STM32MPU157F平台

在OpenSTLinux的STM32MPU157F镜像中添加Python 3.11.5的步骤

1. 进入Yocto构建环境

切换到你当前OpenSTLinux的build目录,比如cd build-openstlinuxweston-stm32mp1(具体目录名根据你的实际配置调整)。

2. 添加Python 3.11的编译配方

OpenSTLinux基于Yocto框架,需要为Python 3.11.5添加对应的recipe:

  • 复制现有Python 3.12的recipe目录,重命名为python3.11相关路径,比如创建recipes-devtools/python/python3.11_3.11.5.bb文件。
  • 修改该文件中的PV值为3.11.5,更新SRC_URI指向Python 3.11.5的源码包地址,同时调整编译依赖、配置参数,确保和当前系统组件兼容。

3. 配置构建参数

在conf/local.conf文件中添加以下配置,确保Python 3.11被纳入镜像:

# 启用Python 3.11的pip和setuptools组件
PACKAGECONFIG_pn-python3.11 += "pip setuptools"
# 将Python 3.11及其依赖包添加到镜像安装列表
IMAGE_INSTALL:append = " python3.11 python3.11-pip python3.11-setuptools"
# 指定默认Python版本为3.12.4(可选,避免默认版本被替换)
PREFERRED_VERSION_python3 = "3.12.4"

4. 避免版本冲突

Yocto默认会将不同版本的Python安装到独立路径:

  • Python 3.11的可执行文件路径为/usr/bin/python3.11,Python 3.12对应/usr/bin/python3.12,/usr/bin/python3会指向默认的3.12版本。
  • 后续运行AI应用时,直接指定对应版本的可执行文件路径即可,比如用python3.11 your_ai_app.py来调用3.11版本运行程序。

5. 重新构建镜像

执行镜像构建命令(替换为你使用的镜像名称,比如st-image-core):

bitbake st-image-weston

6. 验证安装结果

将新镜像烧录到STM32MPU157F平台后,登录系统执行以下命令确认版本:

python3.11 --version
python3.12 --version

若两个版本都能正常输出版本号,说明安装完成,之后可分别为两个版本安装AI应用所需的依赖包。

内容的提问来源于stack exchange,提问作者ForgottenTale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:45:56