ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

fastapi: 启用应用时报:Segmentation fault (core dumped)

2026/8/7 20:33:00 拓冰建站 浏览量
fastapi:  启用应用时报:Segmentation fault (core dumped)

一,报错信息:

$ uvicorn main:app --reload
Segmentation fault (core dumped)

二,原因:

测试:
请直接在终端运行以下原生 Python 脚本,不引入任何 FastAPI 或 Uvicorn 依赖:

$ python3 -c "import asyncio; asyncio.run(asyncio.sleep(0.1)); print('asyncio ok')"
Segmentation fault (core dumped)

直接输出 Segmentation fault:100% 确定是 /usr/local/soft/python312 这个自定义编译的 Python 解释器损坏了
(比如编译时未正确链接 pthreadlibffi 或 C 编译器 GCC 版本过老)

导致问题的原因:
Python 3.12 编译参数中有一个极其关键的标志:

'--enable-shared'

这意味着你的 Python 解释器是以共享库模式(Shared Library)编译的,依赖系统目录中的 libpython3.12.so

结合你之前的报错路径 /usr/local/soft/python312/usr/lib/x86_64-linux-gnu,段错误的根源已经完全锁定

核心病因:libpython3.12.so 动态库冲突 / 混淆

系统里同时存在两个不一致的 Python 3.12 环境

  1. 系统预装/包管理器安装的 Python:位于 /usr/bin/python3.12,库路径在 /usr/lib/x86_64-linux-gnu/

  2. 手动放置/自定义的 Python:位于 /usr/local/soft/python312/

三,解决:

重新编译安装python 3.12.3,去掉configure参数中的--enable-shared