torch-sparse系列安装报错,通用解决方法

torch-sparse系列安装报错,通用解决方法_屠苏Tusunny的博客-CSDN博客

轮子下载链接

https://pytorch-geometric.com/whl/torch-1.10.0%2Bcu102.html

题主环境: 
Win10 python3.7 conda 4.9.2 torch1.7.0 + CU101 已经安装成功了torch_geometric==1.7.0 
安装失败提示: 
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools 
原因分析: 
torch-sparse、torch_scatter、torch_cluster等模块编译需要依赖Visual C++ 14.0的编译工具 
 
失败的解决方案: 
 
试过 https://blog.csdn.net/qq_42165156/article/details/85809358 
试过 https://blog.csdn.net/weixin_40547993/article/details/89399825 
这两个帖子都是说怎么安装Visual C++ 14.0来解决问题的 但是按照这两个帖子的指示去完成了 下载包的时候依旧是疯狂报错 
最佳解决方法 
使用官方提供的whl文件配置环境 网址如下 
https://pytorch-geometric.com/whl/ 
  集中存储这四个轮子,如下图是下载好四个whl文件后的样子:  进入当前路径下的命令行模式窗口 直接在路径上cmd就可以了   使用pip install + 轮子的名字,就可以成功安装模块了 举例: 
pip install torch_sparse-0.6.9-cp37-cp37m-win_amd64.whl
torch_sparse-0.6.9-cp37-cp37m-win_amd64.whl是我下好的轮子,要替换一下
12 
whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。 
测试环境是否配置到位: 
下面是一个官方的demo 官方文档如下: 
https://pytorch-geometric.readthedocs.io/en/latest/notes/introduction.html 
代码如下: 
import torch
from torch_geometric.data import Data

edge_index = torch.tensor([[0, 1, 1, 2],
                           [1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)

data = Data(x=x, edge_index=edge_index)
print(data)


>>Data(edge_index=[2, 4], x=[3, 1])
>>Process finished with exit code 0
12345678910111213 
Process finished with exit code 0 说明torch_geometric的环境成功配置了 
后续报错1 
D:\ProgramData\Anaconda3\lib\site-packages\pyreadline\py3k_compat.py:8 D:\ProgramData\Anaconda3\lib\site-packages\pyreadline\py3k_compat.py:8: DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of from ‘collections.abc’ is deprecated, and in 3.8 it will stop working return isinstance(x, collections.Callable) 
原因分析1和解决方法1: 
由于在python3.8中不再支持collections,建议使用collections.abc 由上面的报错信息,找到报错的文件,也就是用了collections的这个py3k_compat.py文件(每个人的conda路径不一样,找到这个文件就行): 
D:\ProgramData\Anaconda3\lib\site-packages\pyreadline\py3k_compat.py

找到它  点进去修改一下里面的模块导入 原始内容:  
修改部分: (修改以后记得保存,然后退出脚本)  
后续报错2 
Empty suite 
原因分析2和解决方法2: 
注意不能使用test命名文件,在这个包下面会报错的 原因: 1.类名用Test命名 2.代码中使用了main函数调用类中的内容 所以解决办法:只要不满足上面的某一条件就行
 

你可能感兴趣的:(pytorch,深度学习,人工智能)