一些python包在元文件夹中具有相应的配方,例如Enum类:
meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
不幸的是,很多有用的类都不可用,但是python应用程序可能需要一些类。使用已经在引导平台上的pip安装丢失的包?但如果目标产品不是IP网络连接的呢?解决方案是实现一个新的配方并添加到平台元层(至少)。例如,模块keyboard的配方可用于截取按键/按钮触摸事件:使用PyPi网站确定包是否可用:
https://pypi.org/project/keyboard/可在包说明页上下载存档文件:
https://github.com/boppreh/keyboard/archive/master.zip收集一些填写新配方所需的有用信息:摘要-可从包说明页获取
主页-github或bitbucket或sourceforge等上的项目URL
许可证-验证许可证类型
通过对位于包根目录中的现有LICENSE或README或PKG-INFO文件执行md5sum来创建文件(首选)
SRC_URI[md5sum]-是存档本身的md5sum。它将在支持脚本inherit pypi的帮助下自动发现和下载pypi服务器上的存档文件
PYPI_PACKAGE_EXT-如果包不是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"
由于缺少setup.py脚本用于标识包版本的CHANGES.md文件而指向配方的指令(此步骤是可选的)。修补程序本身必须放置在与配方名称匹配但没有版本的配方旁边的文件夹中:
python-keyboard