ArduPilot Python 3.13 和 GCC 13 兼容性修复指南
#作者:李荣江
#时间:2025年8月3日
概述
本文档记录了在 Python 3.13.5 和 GCC 13.2.1 环境下编译 ArduPilot 时遇到的兼容性问题及其解决方案。
环境信息
- 操作系统: Linux 6.14.0-27-generic
- Python 版本: 3.13.5
- GCC 版本: arm-none-eabi-gcc 13.2.1
- 目标板: CUAV-X7
问题列表
1. WAF 构建系统 Python 3.13 兼容性问题
1.1 imp 模块已废弃
错误信息:
ModuleNotFoundError: No module named 'imp'
原因:
Python 3.12+ 完全移除了 imp 模块,需要使用 importlib 替代。
解决方案:
文件 1: /home/lrj/ADRC/pr-adrc/原版/ardupilot/modules/waf/waflib/Context.py
修改导入部分(第9-13行):
# 原代码
import os, re, imp, sys
# 修改后
import os, re, sys
try:
import importlib.util
except ImportError:
import imp
修改模块创建部分(第667-670行):
# 原代码
module = imp.new_module(WSCRIPT_FILE)
# 修改后
try:
module = importlib.util.module_from_spec(importlib.util.spec_from_loader(WSCRIPT_FILE, loader=None))
except (

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



