描述
python tty模块出错。
如何在yocto构建中启用此模块?
环境
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:~#
预期输出
tty模块应类似于以下日志从ubuntu 18.04主机导入
~$ 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
>>>
~$
python3
配方与其他配方有点不同,因此查找它构建的包及其名称并不总是那么简单。
对于Python标准库,如tty
、logging
、2to3
、datetime
,必须读取python3
配方中使用的python3-manifest.json
文件,请参阅http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/python/python3/python3-manifest.json?h=master
在那里,您可以看到tty.py
是terminal
字典的一部分。所有第一级密钥(包括terminal
)在";根";dictionary将是将要创建的包的后缀。在terminal
的情况下,它将是python3-terminal
。这意味着,如果一个人想要tty
模块在他们的目标上,他们应该将python3-terminal
添加到他们的图像配方中。
这种将Python的标准库进行包拆分的特定逻辑是Python的结果,它的所有库对于嵌入式系统来说都非常大,在嵌入式系统中,通常可以手动定义、修复或更新所使用的库集。