Python3.10下pip安装hiredis==2.0.0构建wheel失败如何解决
故障原因
hiredis==2.0.0 发布时间早于Python 3.10正式版,官方没有提供适配Python 3.10的预编译wheel包,pip安装时会触发本地源码编译流程。编译C扩展模块必须依赖对应Python版本的开发头文件Python.h,升级Python 3.10后没有安装配套的开发头文件包,就会触发头文件找不到的编译错误,最终导致安装失败。
日志里的编译参数已经明确指定了头文件搜索路径为/usr/include/python3.10,这个路径下没有Python.h文件就是直接诱因。
解决方法
按优先级选以下方案即可:
方案1:安装Python3.10对应开发包(不修改项目依赖版本)
根据你用的Linux发行版,执行对应命令安装开发头文件包:
- Debian/Ubuntu 系列:
sudo apt update sudo apt install python3.10-dev
- CentOS/RHEL/Fedora 系列:
# CentOS/RHEL 8+ sudo dnf install python3.10-devel # Fedora sudo dnf install python3-devel
安装完成后可以执行以下命令校验头文件是否存在,返回正常文件路径就说明安装成功:
ls /usr/include/python3.10/Python.h
之后重新执行项目依赖安装命令即可正常编译安装hiredis。
如果你的Python3.10是手动源码编译安装的,出现这个问题是因为编译时没有开启头文件、共享库安装选项,需要重新编译Python,编译配置阶段加上--enable-shared参数,安装完成后确认头文件被放到系统include路径下即可。
方案2:升级hiredis到适配Python3.10的版本(无需本地编译)
hiredis从2.1.0版本开始就提供了Python3.10对应的预编译wheel包,不需要本地编译,也就不会依赖系统的Python开发头文件。如果你的项目依赖允许升级hiredis版本,可以直接执行以下命令安装:
pip uninstall -y hiredis pip install hiredis>=2.1.0
注意:升级前请确认项目代码兼容更高版本的hiredis,避免出现运行时逻辑异常。
内容的提问来源于stack exchange,提问作者Sajad Rezvani
相关产品推荐
相关产品推荐

