0

描述

python tty 模块时出错。

如何在 yocto build 中启用这个模块?

环境

root@raspberrypi3-64:~# uname -a
Linux raspberrypi3-64 5.4.83-v8 #1 SMP PREEMPT Wed Jan 20 09:59:41 UTC 2021 aarch64 GNU/Linux

日志

root@raspberrypi3-64:~# python3
Python 3.9.1 (default, Dec  7 2020, 22:33:43) 
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tty
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tty'
>>> 
root@raspberrypi3-64:~# 

预期产出

应从 ubuntu 18.04 主机导入类似于以下日志的 tty 模块

~$ python3
Python 3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tty
>>> 
~$ 
4

1 回答 1

1

python3配方与其他配方略有不同,因此查找它构建的软件包及其名称并不总是那么简单。

对于 Python 标准库,例如tty, logging, 2to3, datetime,必须阅读配方python3-manifest.json中使用的文件,请参阅http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/python/python3/python3 -manifest.json?h=masterpython3

在那里,您可以看到这tty.pyterminal字典的一部分。“根”字典中的所有第一级键(terminal包括)将是要创建的包的后缀。以防万一,terminal它会是python3-terminal. 这意味着如果一个人想要tty在他们的目标上使用模块,他们应该将其添加python3-terminal到他们的图像配方中。

这种拆分 Python 标准库的特定逻辑是 Python 的结果,它的所有库对于嵌入式系统来说都非常大,通常使用的库集可以手动定义、修复或更新。

于 2021-02-18T08:07:29.960 回答