Windows与Ubuntu系统DroneKit安装方法及Ubuntu导入报错求助
问题原因
出现该语法错误的核心原因是Python 2.7不支持类型注解语法(报错行里的buf: Optional[Sequence[int]]就是Python 3才引入的类型标注写法)。你执行pip install dronekit dronekit-sitl mavproxy时,pip自动安装了适配Python 3的高版本pymavlink,这个版本的代码包含Python 2.7无法解析的语法,导致导入dronekit失败。
解决办法
- 卸载当前不兼容的pymavlink版本
pip uninstall -y pymavlink
- 安装适配Python 2.7的pymavlink兼容版本(2.4.8是最后支持Python 2.7的稳定版本)
pip install pymavlink==2.4.8
- 验证修复效果:进入Python交互环境执行
import dronekit,若没有报错则问题解决
如果后续安装其他依赖时pymavlink被自动升级,可直接指定所有依赖的兼容版本安装,避免再次出现问题:
pip install dronekit==2.9.2 dronekit-sitl mavproxy pymavlink==2.4.8
内容的提问来源于stack exchange,提问作者Alesha Mardhy
相关产品推荐
相关产品推荐

