Mac OS下pip安装torch==1.3.1版本失败的问题求助
问题原因分析
PyTorch 1.3.1版本没有官方提供适配macOS平台的预编译wheel包,而Ubuntu(Linux x86_64)有对应的官方预编译包,这就是两边pip安装结果截然不同的核心原因。
PyTorch的包发布策略里,部分旧版本会针对不同平台做选择性发布——1.3.1就是其中之一,官方仅给Linux(x86_64)和Windows平台提供了预编译安装包,macOS用户无法通过pip直接搜索到对应版本的适配包。
解决方案
结合你“项目必须使用1.3.1版本”的需求,有两个可行的解决方向:
1. 在macOS上从源码编译PyTorch 1.3.1
这是最能保证版本一致性的方案,步骤如下:
- 激活你的虚拟环境:
workon test_proj - 安装编译依赖:
pip install numpy pyyaml setuptools cmake cffi - 克隆PyTorch 1.3.1源码仓库并切换到对应版本标签:
git clone https://github.com/pytorch/pytorch.git cd pytorch git checkout tags/v1.3.1 git submodule update --init --recursive - 开始编译安装(Mac M系列芯片需额外设置
CMAKE_OSX_ARCHITECTURES=arm64环境变量,x86_64架构直接执行即可):
编译过程耗时较长,耐心等待完成后,你的虚拟环境就会安装好torch 1.3.1。python setup.py install
2. 给requirements.txt添加平台条件规则
如果不想编译源码,可以修改requirements.txt,让它根据不同系统自动适配:
# Linux平台安装指定的1.3.1版本 torch==1.3.1; sys_platform == "linux" # macOS平台若能接受编译后的本地包,可指定本地wheel路径 # torch==1.3.1 --find-links=/path/to/your/local/compiled/wheel
不过因为你明确提到项目无法使用1.4及以上版本,这个方案的兼容性有限,更推荐源码编译的方式。
⚠️ 注意:不要尝试直接使用Ubuntu的wheel包安装到Mac上,Linux和macOS的二进制包架构完全不兼容,强制安装会导致运行时报错,无法正常使用。
内容的提问来源于stack exchange,提问作者aeb
相关产品推荐
相关产品推荐

