我想在我的yocto / openembedded项目中添加更多python模块,但我不确定如何?我希望添加flask及其依赖项。
答案 0 :(得分:5)
一些python包在元文件夹中有相应的配方,例如Enum类:
meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
不幸的是,许多有用的类都不可用,但是python应用程序可能需要一些类。是否已经在启动平台上使用pip
安装缺少的软件包?但如果目标产品不是IP网络连接怎么办?解决方案是实现新配方并添加到平台元层(至少)。示例是用于拦截按键/按钮触摸事件的模块keyboard
的配方:
https://pypi.org/project/keyboard/
https://github.com/boppreh/keyboard/archive/master.zip
收集填写新食谱所需的一些有用信息:
md5sum
或LICENSE
或README
文件执行PKG-INFO
(最好)md5sum
。它将用于在支持脚本inherit pypi
tar.gz
需要提供正确的扩展程序创建缺少的python-keyboard_0.13.1.bb
食谱:
`
SUMMARY = "Hook and simulate keyboard events on Windows and Linux"
HOMEPAGE = "https://github.com/boppreh/keyboard"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=9bc8ba91101e2f378a65d36f675c88b7"
SRC_URI[md5sum] = "d4b90e53bbde888e7b7a5a95fe580a30"
SRC_URI += "file://add_missing_CHANGES_md.patch"
PYPI_PACKAGE = "keyboard"
PYPI_PACKAGE_EXT = "zip"
inherit pypi
inherit setuptools
BBCLASSEXTEND = "native nativesdk"
`
SRC_URI += "file://add_missing_CHANGES_md.patch"
CHANGES.md
脚本使用setup.py
文件缺少标识包版本(此步骤是可选的),因此配方指令。补丁本身必须放在配方匹配配方名称旁边的文件夹中,但没有版本:
python-keyboard
答案 1 :(得分:3)
layers.openembedded.org上的OE图层索引列出了所有已知图层及其包含的配方,因此搜索应该会显示您可以添加到构建中的元python图层并使用其中的配方。
答案 2 :(得分:3)
这个问题很旧,但是目前在2020年有一个名为pipoe
的python软件包。
pipoe
可以为您生成与Python软件包相对应的.bb
类!
用法:
$ pip3 install pipoe
$ pipoe -p requests
OR
$ pipoe -p requests --python python3
现在将生成的.bb文件复制到您的图层并使用它们。
答案 3 :(得分:0)
在您的图像配方中,您可以通过将其添加到IMAGE_INSTALL
变量来添加Python模块:
IMAGE_INSTALL += "python-numpy"
您可以找到可能的模块,例如通过使用通配符搜索它们:
find -name *python*numpy*bb
Yocto文件夹中的带来:
./poky/meta/recipes-devtools/python/python-numpy_1.7.0.bb