CentOS 7系统下如何强制默认使用cmake3以完成PyTorch安装?
解决CentOS 7.3下CMake版本切换,让PyTorch使用CMake3的问题
我来帮你搞定这个问题——CentOS 7.3默认自带的CMake2.8确实会拖PyTorch安装的后腿,既然你已经装好了cmake3,咱们只需要把系统默认的CMake指向cmake3就行,这里有几个靠谱的方法:
方法一:用系统alternatives工具管理(推荐,系统级持久生效)
这是最规范的方式,能统一管理多个版本的CMake:
- 先确认cmake3的安装路径,执行:
通常输出是which cmake3/usr/bin/cmake3,记下来这个路径。 - 将cmake3添加到alternatives配置中:
最后的sudo alternatives --install /usr/bin/cmake cmake /usr/bin/cmake3 1010是优先级,数字越大优先级越高,确保比默认的CMake2.8高就行。 - 选择默认的CMake版本:
执行后会列出可选的版本,输入cmake3对应的编号回车即可。sudo alternatives --config cmake - 验证是否生效:
输出应该显示CMake 3.x的版本了。cmake --version
方法二:手动创建软链接(简单直接)
如果alternatives工具不好用,直接替换系统默认的cmake链接也可以:
- 先备份原来的CMake2.8(可选,但建议做):
sudo mv /usr/bin/cmake /usr/bin/cmake2.8 - 创建指向cmake3的软链接:
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake - 验证版本:
cmake --version
方法三:临时切换(仅当前终端会话生效)
如果你不想改系统全局设置,只想在安装PyTorch时临时用cmake3,可以在执行安装命令前先修改PATH:
- 临时把cmake3的路径放到PATH最前面:
export PATH=$(dirname $(which cmake3)):$PATH - 确认版本:
cmake --version - 然后正常执行PyTorch的安装命令即可,这个设置只在当前终端窗口有效,关闭后会恢复默认。
额外小技巧:编译PyTorch时直接指定CMake路径
如果以上方法都不想用,还可以在编译PyTorch源码时直接指定cmake3的路径,比如:
python setup.py install -DCMAKE_EXECUTABLE=/usr/bin/cmake3
这样不用修改系统默认,只针对PyTorch编译生效。
内容的提问来源于stack exchange,提问作者DavideChicco.it
相关产品推荐
相关产品推荐

