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

树莓派Docker容器中Pydantic模块缺失PyErr_GetRaisedException符号报错

解决ARM架构下Pydantic Core缺失PyErr_GetRaisedException符号的问题

问题根源

PyErr_GetRaisedException是Python 3.13才新增的API,你的环境用的是Python 3.12,本身不包含这个符号。出现报错是因为安装的pydantic_core版本是针对Python 3.13编译的预编译包,在3.12环境下无法兼容。

可行解决方案

1. 锁定兼容Python 3.12的pydantic_core版本

在项目的requirements.txt里明确指定支持Python 3.12的pydantic_core版本,比如:

pydantic_core==2.16.3

注:2.16.x系列是最后一批支持Python 3.12的版本,后续发布的版本仅适配Python 3.13及以上。

2. 构建镜像时强制从源码编译pydantic_core

如果不想锁定版本,可以在Dockerfile中先安装编译依赖,再强制从源码安装pydantic_core,跳过预编译的ARM64二进制包:

# 安装编译所需依赖
RUN apt-get update && apt-get install -y gcc python3-dev

# 强制源码编译安装pydantic_core
RUN pip install --no-binary :all: pydantic_core

3. 升级Python版本到3.13(业务允许的话)

如果你的Flask应用可以兼容Python 3.13,直接把基础镜像换成python:3.13-bookworm,此时Python环境自带PyErr_GetRaisedException符号,预编译的pydantic_core包就能正常运行:

FROM python:3.13-bookworm

4. 检查并同步所有依赖版本

运行依赖检查命令,确保所有第三方包都适配当前Python版本和ARM架构,避免其他类似的二进制兼容问题:

pip check

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:27:05