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

如何将仅含pyproject.toml的Python项目amqtt添加到Yocto dunfell镜像中

解决方案

方案1:配方内动态生成适配的setup.py(推荐)

Yocto Dunfell分支默认的setuptools3类仅支持带有setup.py的Python项目,你可以在配置阶段动态生成极简setup.py调用setuptools,自动读取项目自带的pyproject.toml配置即可。修改后的核心配方如下:

HOMEPAGE = "https://github.com/Yakifo/amqtt"
SRC_URI = "git://github.com/Yakifo/amqtt;protocol=https;branch=master"
SRCREV = "4beb912c2a0d58d66140ce68b6a31991c2c48b30"
S = "${WORKDIR}/git"

inherit setuptools3

do_configure_prepend() {
    cat > ${S}/setup.py << EOF
from setuptools import setup
setup()
EOF
}

方案2:setuptools版本过低时的兼容方案

如果你的构建环境中python3-setuptools版本低于50.0.0(不支持自动读取pyproject.toml),可以手动把pyproject.toml里的项目名称、版本、依赖等元数据补写到上述动态生成的setup.py的setup()参数中即可。

注意事项

  • 不要同时继承distutils和setuptools3,两者功能重叠会触发构建冲突
  • 使用git拉取源码的场景不需要继承pypi类,该类仅用于从PyPi镜像站拉取tar包源码的场景
  • 拉取git源码时建议在SRC_URI中明确指定branch参数,避免拉取默认分支失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:45:04