导入pytorch几何结果报错

Importing pytorch geometric results in an error message

我突然无法导入 pytorch geometric,我也不知道为什么。我在我的 conda 环境中添加了软件包的屏幕截图,以及我尝试 import torch_geometric.

时收到的错误消息
import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConv

错误信息:

OSError: dlopen(/Users/anstercharles/opt/anaconda3/lib/python3.8/site-packages/torch_sparse/_convert_cpu.so, 6): Symbol not found: __ZN2at8internal13_parallel_runExxxRKNSt3__18functionIFvxxmEEE Referenced from: /Users/anstercharles/opt/anaconda3/lib/python3.8/site-packages/torch_sparse/_convert_cpu.so Expected in: /Users/anstercharles/opt/anaconda3/lib/python3.8/site-packages/torch/lib/libtorch_cpu.dylib in /Users/anstercharles/opt/anaconda3/lib/python3.8/site-packages/torch_sparse/_convert_cpu.so

运行:

conda list pytorch

给我:

Name Version Build Channel
pytorch 1.9.0 cpu_py38h490fcb8_1 conda-forge
pytorch-cluster 1.5.9 py38_torch_1.9.0_cpu rusty1s
pytorch-geometric 1.7.2 py38_torch_1.9.0_cpu rusty1s
pytorch-scatter 2.0.8 py38_torch_1.9.0_cpu rusty1s
pytorch-sparse 0.6.11 py38_torch_1.9.0_cpu rusty1s
pytorch-spline-conv 1.2.1 py38_torch_1.9.0_cpu rusty1s


其他详细信息

我可以复制错误。 The documentation in the README,使用

conda install pytorch-geometric -c rusty1s -c conda-forge

不匹配 the order that is actually used in the build,其频道顺序为:

-c defaults -c pytorch -c conda-forge -c rusty1s

解决方法

我发现它可以使用:

conda create -n foo -c defaults -c pytorch -c conda-forge -c rusty1s pytorch-geometric

按照@merv 的回答,我通过将 python 版本从 3.8 更改为 3.9

解决了这个问题 我创建了另一个环境如下:(M1 Mac Big Sur)

  • python : 3.9.7
  • 火炬:1.9.1
  • pytorch-几何:2.0.1