Windows系统下PyPy无法安装Torch(1.6.0+)的问题求助
PyPy安装Torch失败的原因及解决办法
原因
- Torch官方未提供PyPy适配包:1.6.0及以上版本的Torch预编译包仅针对CPython构建,没有发布对应PyPy的wheel包,导致pip找不到匹配版本。
- PyPy与CPython的C扩展兼容差异:Torch依赖大量C/C++扩展实现性能优化,PyPy在这类扩展的处理逻辑上和CPython存在差异,官方未针对PyPy做适配,直接安装预编译包无法运行。
成功安装的方法
从源码编译Torch(适合有编译经验的用户)
- 先给PyPy装全编译依赖:比如gcc、g++、cmake、make这些工具,不同系统用对应的包管理器安装(比如Ubuntu用apt,CentOS用yum)
- 克隆Torch的官方源码仓库(需确保git已安装)
- 切换到你需要的版本分支(比如1.6.0):
git checkout tags/v1.6.0 - 设置环境变量指定用PyPy编译:
export PYTHON_EXECUTABLE=$(which pypy) export USE_CUDA=0 # 不需要CUDA加速就设0,需要的话根据显卡情况调整 - 执行编译安装:
注意:编译耗时很长,而且可能因为PyPy的兼容性问题出各种错误,得自己调试解决。python setup.py install
尝试第三方PyPy兼容预编译包(稳定性无保障)
有些社区开发者会做适配PyPy的Torch预编译wheel包,针对1.6.0以下的旧版本可以找找这类资源,找到后直接指定文件路径安装:
pypy -m pip install /本地路径/适配PyPy的torch包.whl
但这类包没有官方维护,能不能用全看运气。
降级到Torch 1.5.0及以下版本(仅适配旧PyPy)
Torch 1.5.0及更早版本有少量针对PyPy的预编译包,试试指定版本安装:
pypy -m pip install torch==1.5.0
注意:这个方法只对较老的PyPy版本(比如PyPy 7.3.x系列)有效,新PyPy版本可能还是兼容不了。
内容的提问来源于stack exchange,提问作者Takeraparterer
相关产品推荐
相关产品推荐

