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

树莓派5 Bookworm系统无法安装libffi-dev致Python3.9缺失_ctypes模块,无法运行EdgeTPU TFLite模型求助

树莓派5 Bookworm系统无法安装libffi-dev致Python3.9缺失_ctypes模块,无法运行EdgeTPU TFLite模型求助

看起来你遇到的问题根源有两个:一是编译Python3.9时缺少libffi-dev依赖导致_ctypes核心模块未被构建,二是当前apt源配置异常无法找到libffi-dev包。我来一步步帮你解决:

第一步:修复apt源,确保能安装libffi-dev

从你的源列表能看到明显的笔误(raspi.list最后一行多了个rp后缀),这会导致源无法正常工作,先修正并更新源:

  1. 首先编辑并修正raspi.list文件:
sudo nano /etc/apt/sources.list.d/raspi.list

把错误的行:

deb http://archive.raspberrypi.com/debian/ bookworm main contrib non-free rp

改成:

deb http://archive.raspberrypi.com/debian/ bookworm main contrib non-free

按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。

  1. 更新apt缓存并修复可能的依赖问题:
sudo apt update --fix-missing
sudo apt upgrade -y
  1. 现在就能正常安装libffi-dev,同时建议安装所有Python编译需要的基础依赖(避免后续再缺其他模块):
sudo apt install -y libffi-dev build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libsqlite3-dev wget curl llvm libbz2-dev liblzma-dev tk-dev

第二步:重新用pyenv编译Python3.9,确保包含_ctypes模块

之前编译的Python3.9因为缺少libffi-dev,_ctypes模块根本没被构建,现在重新编译:

  1. 先卸载之前有问题的Python3.9版本(以你安装的3.9.18为例):
pyenv uninstall 3.9.18
  1. 重新安装Python3.9.18,pyenv会自动检测到libffi-dev已安装,自动构建_ctypes模块:
pyenv install 3.9.18

等待编译完成(树莓派5大概需要5-10分钟)。

第三步:重新配置环境并安装TFLite相关依赖

  1. 切换到新编译的Python版本,创建并激活虚拟环境:
pyenv global 3.9.18
python -m venv tflite-env
source tflite-env/bin/activate
  1. 安装适配树莓派arm64架构的tflite-runtime(对应Python3.9版本):
pip install https://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp39-cp39-linux_aarch64.whl

如果需要更完整的Coral工具链,也可以直接安装pycoral:

pip install https://github.com/google-coral/pycoral/releases/download/v2.0.0/pycoral-2.0.0-cp39-cp39-linux_aarch64.whl

第四步:重新测试你的脚本

运行之前的测试脚本,现在应该能正常加载_ctypes并成功初始化TPU interpreter了:

python /home/USER/test_tpu_model.py

正常的话会输出:✅ allocate_tensors() OK ✅ interpreter built successfully

额外简化提示

如果用pycoral的话,可以简化脚本,不需要手动加载delegate:

from pathlib import Path
from pycoral.utils.edgetpu import make_interpreter

MODEL = Path("/home/USER/models/efficientdet_lite1_int8_edgetpu.tflite")
interp = make_interpreter(str(MODEL))
interp.allocate_tensors()
print("✅ allocate_tensors() OK ✅ interpreter built successfully")

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 11:09:52