树莓派4安装Python 3.7时卡在test_faulthandler测试[131/416]
解决树莓派4编译Python 3.7时test_faulthandler停滞的问题
以下是几个实用的解决思路,按优先级尝试:
直接跳过故障测试
执行编译命令时指定跳过test_faulthandler,避免卡在该环节:make -j4 TESTS="-x test_faulthandler"这个测试在ARM架构的树莓派上偶尔会出现兼容性问题,跳过不影响Python核心功能的正常使用。
降低并行编译线程数
树莓派4的4核虽然支持-j4,但编译Python时内存占用较高,线程过多可能导致内存耗尽引发无响应。尝试减少线程数:make -j2或者直接用单线程编译(
make),虽然慢但更稳定。可以用free -h实时查看内存使用情况,确认是否是内存不足导致的停滞。检查并补全编译依赖
依赖缺失可能导致测试环节出现隐性阻塞,确保安装了所有必要的编译依赖:sudo apt-get install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git安装完成后清理之前的编译缓存(
make clean),再重新编译。单独排查测试故障
如果想定位问题根源,先通过跳过测试完成编译,之后单独运行该测试查看具体报错:python -m test test_faulthandler通常这类问题和ARM架构的信号处理、系统core dump配置有关,可以根据报错信息针对性调整系统设置。
替代方案:使用预编译包
若只是需要Python 3.7环境,没必要源码编译,直接通过包管理器安装预编译版本更高效:sudo apt-get update sudo apt-get install python3.7如果官方源没有,可查找适配ARM架构的第三方预编译包进行安装。
内容的提问来源于stack exchange,提问作者Lan M
相关产品推荐
相关产品推荐

