Windows环境下PyTorch_geometric安装踩坑
pytorch geometric在windows环境下安装非常恶心,莫名其妙各种报错。本帖针对GCC的编译error提供解决方案。
一般报错的包主要是两个:
- torch-scatter
- torch-sparse
Building wheels for collected packages: torch-scatter
Building wheel for torch-scatter (setup.py) ... error
根据Github上的#226这是使用GCC版本不对造成的。
根据PyTorch geometric官方FAQ FAQ上的描述
return _and<is_constructible<_Elements, _UElements&&>…>::value: Ensure that your gcc version is at least 4.9 (and below 6) (see Issue#25b). You will also need to reinstall PyTorch because gcc versions must be consistent across all PyTorch packages.
GCC的版本不能低于4.9并且要低于6(真麻烦。。。)。
解决方案:
使用mingw直接安装会安装最新版6+版本。找了一圈发现mingw也提供older versions download pages
直接拉到底能够找到5.4.0版本,下载解压,然后配置环境变量就可以了。
成功之后应该会显示
接下来就是下载pytorch geometric的相关whl文件。
下载链接pytorch-geometric
选择自己系统对应的cuda和pytorch版本
我是cuda11.1和torch1.8.1
接下来有一个小坑
下载好的文件应该长这样
torch_scatter-2.0.6-cp38-cp38-win_amd64.whl
然而我的python是3.9的版本直接pip install是装不上的。先要查看下适配的标签文件。
pip debug --verbose
重点是Compatible tags
Compatible tags: 33
cp39-cp39-win_amd64
cp39-abi3-win_amd64
cp39-none-win_amd64
cp38-abi3-win_amd64
cp37-abi3-win_amd64
cp36-abi3-win_amd64
cp35-abi3-win_amd64
cp34-abi3-win_amd64
cp33-abi3-win_amd64
cp32-abi3-win_amd64
py39-none-win_amd64
py3-none-win_amd64
py38-none-win_amd64
py37-none-win_amd64
py36-none-win_amd64
py35-none-win_amd64
py34-none-win_amd64
py33-none-win_amd64
py32-none-win_amd64
py31-none-win_amd64
py30-none-win_amd64
cp39-none-any
py39-none-any
py3-none-any
py38-none-any
py37-none-any
py36-none-any
py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any
对照tag做修改,改完之后的文件名应该如下。
torch_scatter-2.0.6-cp39-cp39-win_amd64.whl
然后就可以用pip安装了。