pip安装pywallet失败,能否手动修改依赖版本?
解决pywallet安装失败并手动修改依赖的方法
1. 强制下载pywallet源码包
直接用pip download时会因为依赖的protobuf构建失败中断,加上--no-deps --no-build-isolation参数绕过metadata检查,强制下载源码:
pip download pywallet --no-deps --no-build-isolation
执行后会得到pywallet的源码压缩包(如pywallet-0.1.0.tar.gz)。
2. 解压并定位依赖配置
解压下载的压缩包,进入源码目录:
tar -xzf pywallet-*.tar.gz cd pywallet-*
打开setup.py(或requirements.txt),找到protobuf的依赖声明,通常是未固定版本的写法,比如protobuf>=3.0.0a3。
3. 修改protobuf依赖版本
protobuf 3.0.0a3是老旧预发布版,不兼容Python3.12,将其替换为兼容的稳定版本:
- 若在
setup.py的install_requires列表中,把'protobuf>=3.0.0a3'改为'protobuf>=3.20.0'(3.20.0及以上适配Python3.10+) - 若存在
requirements.txt,同样将对应行修改为protobuf>=3.20.0
4. 本地安装修改后的pywallet
在源码目录下执行本地安装命令:
pip install .
此时会使用修改后的依赖配置安装,protobuf会拉取兼容版本,不会再出现build_py_2to3导入错误。
备选方案
如果修改后仍有问题,可先单独安装兼容版本的protobuf:
pip install protobuf>=3.20.0
再执行源码包的安装命令。
内容的提问来源于stack exchange,提问作者unsafe_where_true
相关产品推荐
相关产品推荐

