Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Buildroot Python依赖项(_sqlite3)_Python_Sqlite_Dependencies_Embedded Linux_Buildroot - Fatal编程技术网

Buildroot Python依赖项(_sqlite3)

Buildroot Python依赖项(_sqlite3),python,sqlite,dependencies,embedded-linux,buildroot,Python,Sqlite,Dependencies,Embedded Linux,Buildroot,完整免责声明:过去6周我一直在使用buildroot。这是我对嵌入式Linux的第一次介绍,因此我还是个新手,但我自己已经解决了99%的问题。在很大程度上,这一过程是直截了当的 所以,当我被困在家里无法工作时,我一直在做一个嵌入式硬件项目。我已经选择了我的硬件,构建了一个原型,学习了buildroot基础知识,提出了基本系统,优化了内核配置,为我的硬件构建了一个定制的设备树,到目前为止我都很高兴 同时,我一直在桌面上用python编程目标应用程序,它依赖于几个库(硬件抽象、通信、显示等),但相对

完整免责声明:过去6周我一直在使用buildroot。这是我对嵌入式Linux的第一次介绍,因此我还是个新手,但我自己已经解决了99%的问题。在很大程度上,这一过程是直截了当的

所以,当我被困在家里无法工作时,我一直在做一个嵌入式硬件项目。我已经选择了我的硬件,构建了一个原型,学习了buildroot基础知识,提出了基本系统,优化了内核配置,为我的硬件构建了一个定制的设备树,到目前为止我都很高兴

同时,我一直在桌面上用python编程目标应用程序,它依赖于几个库(硬件抽象、通信、显示等),但相对来说比较简单

我已经有了一个必要的包列表,可以构建到我的buildroot系统中。buildroot工具在这里使用scanpypi工具非常好:

~/buildroot$ utils/scanpypi diskcache -o package
只需将所有依赖项添加到/package/config.in中,就可以在menuconfig中选择它们并添加到配方中

问题出现在构建时,对于python diskcache之上的模块,python模块的构建失败

它依赖于一些东西,但有一个是slqite3,它被添加为: 核心python模块“sqlite模块” 外部包“python-pysqlite3” 库>数据库>sqlite

但是,它在构建时失败:

>>> python-diskcache 4.1.0 Building
Traceback (most recent call last):
File "setup.py", line 5, in <module>
import diskcache
File "/home/buildroot/output/build/python-diskcache-4.1.0/diskcache/__init__.py", line 9, in <module>
from .core import Cache, Disk, EmptyDirWarning, JSONDisk, UnknownFileWarning, Timeout
File "/home/buildroot/output/build/python-diskcache-4.1.0/diskcache/core.py", line 14, in <module>
import sqlite3
File "/home/buildroot/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/home/buildroot/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
make[1]: *** [package/pkg-generic.mk:269: /home/buildroot/output/build/python-diskcache-4.1.0/.stamp_built] Error 1
make: *** [Makefile:84: _all] Error 2
python diskcache 4.1.0构建 回溯(最近一次呼叫最后一次): 文件“setup.py”,第5行,在 导入磁盘缓存 文件“/home/buildroot/output/build/python-diskcache-4.1.0/diskcache/\uuuu init\uuuu.py”,第9行,在 从.core导入缓存、磁盘、EmptyDirWarning、JSONDisk、UnknownFileWarning、超时 文件“/home/buildroot/output/build/python-diskcache-4.1.0/diskcache/core.py”,第14行,在 导入sqlite3 文件“/home/buildroot/output/host/arm buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/python3.8/sqlite3/_-init___;.py”,中的第23行 从sqlite3.dbapi2导入* 文件“/home/buildroot/output/host/arm buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/python3.8/sqlite3/dbapi2.py”,第27行,在 从_sqlite3导入* ModuleNotFoundError:没有名为“\u sqlite3”的模块 make[1]:***[package/pkg generic.mk:269:/home/buildroot/output/build/python-diskcache-4.1.0/.stamp_-builded]错误1 make:**[Makefile:84:_all]错误2 在寻找解决方案时,似乎_sqlite3是python外部的C模块,用于与sqlite数据库通信。它应该与python一起安装(使用3.8),并且应该在buildroot中启用核心sqlite模块

有几个修复程序可以在主机上处理此问题(例如,apt get install libsqlite3 dev和重新安装/重新配置python)。显然,这在映像中是不可能的,sqlite和python3安装都是最新版本,并且在构建时安装到映像中

我真的很难理解这个问题,或者我该如何解决它。我有一些基于讨论的理论,但我不确定

1) python是在sqlite之前安装到映像中的,因此相应的模块没有将cp或符号链接安装到python安装中

2) 还有其他一些未知的依赖项在构建时没有得到满足,并且它会无声地失败

任何想法或帮助都将不胜感激


谢谢

你能解决这个问题吗?