You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下安装pymavlink 2.4.8失败,疑与Python3.10.6不兼容

问题根源

Python 3.9及以上版本移除了array.array.fromstring方法,替换为array.array.frombytes,而pymavlink 2.4.8的源码中仍在使用这个已废弃的方法,导致构建时触发AttributeError: 'array.array' object has no attribute 'fromstring'错误。

解决方案

方法1:手动修改源码后安装

  1. 下载pymavlink 2.4.8的源码包:
    pip3 download pymavlink==2.4.8
    
  2. 解压下载的压缩包:
    tar -xzf pymavlink-2.4.8.tar.gz
    cd pymavlink-2.4.8
    
  3. 全局替换源码中所有的fromstring为frombytes:
    grep -rl "fromstring" . --include="*.py" | xargs sed -i 's/fromstring/frombytes/g'
    
  4. 安装修改后的版本:
    sudo pip3 install .
    

方法2:降级Python版本到3.8

如果不想修改源码,可以安装Python 3.8并创建虚拟环境来安装pymavlink 2.4.8:

  1. 安装Python 3.8:
    sudo apt install python3.8 python3.8-venv python3.8-pip
    
  2. 创建并激活虚拟环境:
    python3.8 -m venv sitl-env
    source sitl-env/bin/activate
    
  3. 在虚拟环境中安装pymavlink 2.4.8:
    pip install pymavlink==2.4.8
    

方法3:尝试兼容Python3.10的旧版本

如果允许偏离2.4.8版本,可以尝试安装pymavlink 2.4.30及以上的旧版本(这些版本已修复Python3.9+的兼容性问题):

sudo pip3 install pymavlink==2.4.30

内容的提问来源于stack exchange,提问作者Samantha Hill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:41:59