Ubuntu 24下Python3.12安装hdbscan遇Python.h缺失问题求助
解决Ubuntu 24 + Python 3.12安装hdbscan的编译错误
问题场景
执行pip install hdbscan时触发编译错误,核心报错信息如下:
running build_ext building 'hdbscan._hdbscan_tree' extension creating build/temp.linux-x86_64-cpython-312/hdbscan x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/home/ahe/pyenv/include -I/usr/include/python3.12 -I/tmp/pip-build-env-szh812xv/overlay/lib/python3.12/site-packages/numpy/_core/include -c hdbscan/_hdbscan_tree.c -o build/temp.linux-x86_64-cpython-312/hdbscan/_hdbscan_tree.o hdbscan/_hdbscan_tree.c:29:10: fatal error: Python.h: No such file or directory 29 | #include "Python.h" | ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
环境:Ubuntu 24系统、Python 3.12版本、全新虚拟环境,不使用conda。
错误原因
编译hdbscan的C扩展模块需要Python的开发头文件(Python.h),Ubuntu默认未安装对应Python版本的开发依赖包。
解决步骤
- 安装Python 3.12的开发依赖包:
sudo apt-get update && sudo apt-get install python3.12-dev - 激活虚拟环境后重新执行安装命令:
pip install hdbscan
内容的提问来源于stack exchange,提问作者user9165100
相关产品推荐
相关产品推荐

