python - 在 Raspberry Pi 上构建 Python 时出现致命错误
问题描述
我正在树莓派上构建 Python 3.9.2。
成功进行简单的构建,但是我的 Python 项目(在从repos./configure --enable-optimizations --with-ensurepip=install
安装的 Python 下运行良好)不能在这个编译后的 Python 上运行。apt
它引发了一大堆错误。更简单的代码运行良好。
使用python3 -c "import sysconfig; print(sysconfig.get_config_var('CONFIG_ARGS'))"
,我可以知道来自 repos 的 Python 正在使用哪些参数apt
,所以我也尝试使用它们。我的配置行最终是这样的:
./configure --enable-optimizations --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions --with-dbmliborder=bdb:gdbm --with-computed-gotos --with-ensurepip=install --with-system-expat --with-system-libmpdec --with-system-ffi CC=arm-linux-gnueabihf-gcc "CFLAGS=-g -fstack-protector-strong -Wformat -Werror=format-security " "LDFLAGS= -Wl,-z,relro" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2"
我不完全确定它们的含义,但发行版维护者认为它们足够重要,可以包含在内,所以这对我来说已经足够好了。
我遇到的问题是在最后一步。当我完成编译并运行sudo make altinstall
时,我得到了一些错误:
/usr/local/src/Python-3.9.2/Modules/pyexpat.c:6:10: fatal error: expat.h: No such file or directory
...
/usr/local/src/Python-3.9.2/Modules/_decimal/_decimal.c:32:10: fatal error: mpdecimal.h: No such file or directory
问题是,这两个文件都存在于这里:
/usr/local/src/Python-3.9.2/Modules/expat/expat.h
/usr/local/src/Python-3.9.2/Modules/_decimal/libmpdec/mpdecimal.h
由于我正在编译的代码在 中/usr/local/src/Python-3.9.2
,您会认为它能够在自己的构建目录中找到文件。
难道我做错了什么?
解决方案
推荐阅读
- xslt-1.0 - 如何修复“字符串未被识别为有效的日期时间。” BizTalk 测试地图中的错误?
- python - 如何使用 SQLalchemy 将 CSV 加载到数据库中?
- sql - 如何在更高级别聚合加权平均值字段?
- python - 触摸屏滚动 Tkinter Python
- java - 无法使用 Apache cxf soap 通过代理隧道
- angular - 如何在 html 属性中使用 Angular 指令
- html - 自动填充表单不适用于所有浏览器
- vue.js - 在 v-for 中使用 v-if(带有计算属性)
- angular - `this.appInits[i] is not a function`错误出现在`APP_INITIALIZER`上
- java - 想要以之字形模式打印一个*n 矩阵