在 yocto 的 Krogoth 分支中使用 python3-pytz 作为应用程序

Use python3-pytz for an Application in Krogoth branch in yocto

我依赖于 Yocto 的 Krogoth 分支开发的开发板。

问题是在查看 krogoth 图层的图层时,我获得了一个 python-pytz 配方,该配方依赖于 meta-python 并且仅适用于 python2.7.我正在为其编写食谱的应用程序是 Python3 依赖的。

我尝试将其添加到我的 local.conf 中,如下所示:

 IMAGE_INSTALL_append = " python3-pytz" 

这会引发以下错误:

ERROR: Nothing RPROVIDES 'python3-pytz'

相反,当我使用 IMAGE_INSTALL_append = " python-pytz" 时,bitbake 进程 运行 成功,当我尝试 运行 板上的 Python3 解释器时如下:

 # python3
 >> import influxdb
 ....
 No module pytz found

相反,当我 运行 python 打开 2.7 解释器时:

  # python
  >> import pytz

  .. no module threading.

没关系,因为我没有在 IMAGE_INSTALL_append 中包含 python-threading

如何使用 krogothmeta-python 层上不可用的 python3-pytz

krogoth 分支的 meta-homeassitant 层中有一个 python3-pytz。我尝试将图层添加到我的 bblayers.conf 并尝试添加 python3-pytz 但抛出与上述相同的错误。

正如 Oleksandr Kravchuk 在评论中提到的那样。

Backporting to the Krogoth branch is the way to obtain pytz in python3

快速向后移植指南

  1. 从您自己的 meta 图层开始,例如meta-foo
  2. 创建meta-foo/recipes-devtool/python
  3. Open-Embedded meta-python

  4. 添加 python-pytz.inc 文件
  5. 添加标题为python3-pytz_2018.5.bb

    的食谱

    一个。该文件包含以下行:

    inherit setuptools3
    require python-pytz.inc
    
  6. bblayers.conf
  7. 中添加 meta-foo
  8. IMAGE_INSTALL_append= " python3-pytz"
  9. 中添加食谱
  10. bitbake -k image-name