PyPy3安装web3时cytoolz等包缺失Python.h编译失败怎么解决
解决方案
核心原因
你当前使用的是PyPy运行环境,此前安装的python3-dev、libpython3.x-dev均为标准CPython的开发头文件包,和PyPy环境不兼容,因此编译C扩展依赖时无法找到Python.h头文件,导致构建wheel失败。
操作步骤
- 首先安装PyPy对应的开发头文件包及基础编译工具
sudo apt update && sudo apt install pypy3-dev gcc make
- 激活你的虚拟环境后,升级PyPy对应的包管理工具,避免版本过旧导致兼容问题
pypy3 -m pip install --upgrade pip wheel setuptools
- 先单独安装之前失败的三个依赖包
pypy3 -m pip install cytoolz lru-dict bitarray
- 上述依赖安装完成后,再安装web3。注意你使用的PyPy对应Python版本为3.6,不支持最新版web3,指定安装适配3.6的版本即可
pypy3 -m pip install web3==5.31.4
补充说明
如果仍有个别包编译失败,可手动下载对应包的PyPy专属预编译wheel文件,再通过本地路径安装即可。
内容的提问来源于stack exchange,提问作者t_k
相关产品推荐
相关产品推荐

