导入OCPCalculator时出现OSError错误求助
问题描述
卸载原有PyTorch版本并安装适配任务的版本后,导入OCPCalculator时仍触发OSError,具体代码及错误信息如下:
代码
from fairchem.core.common.relaxation.ase_utils import OCPCalculator import ase.io from ase.optimize import BFGS
错误信息
OSError Traceback (most recent call last)/var/folders/n7/96_5cstj2sn6g5ll0b979w380000gn/T/ipykernel_49125/1241704498.py in <module> ----> 1 from fairchem.core.common.relaxation.ase_utils import OCPCalculator 2 import ase.io 3 from ase.optimize import BFGS ~/opt/anaconda3/lib/python3.9/site-packages/fairchem/core/common/relaxation/ase_utils.py in <module> 24 25 from fairchem.core.common.registry import registry ---> 26 from fairchem.core.common.utils import ( 27 load_config, 28 setup_imports, ~/opt/anaconda3/lib/python3.9/site-packages/fairchem/core/common/utils.py in <module> 30 import torch 31 import torch.nn as nn ---> 32 import torch_geometric ~/opt/anaconda3/lib/python3.9/sitepackages/torch_geometric/__init__.py in <module> 11 import torch_geometric.loader 12 import torch_geometric.transforms ---> 13 import torch_geometric.datasets ... 384 self._handle = handle OSError: dlopen(/Users/roshnidantuluri/opt/anaconda3/lib/python3.9/sitepackages/torch_cluster/_version_cpu.so, 0x0006): Symbol not found: __ZN3c1017RegisterOperatorsD1Ev Referenced from: <6A95460A-9602-33F2-92B2-6A9C90B59457>/Users/roshnidantuluri/opt/anaconda3/lib/python3.9/site-packages/torch_cluster/_version_cpu.so Expected in: <709C1DF5-D253-3C66-87E2-C99FD3A259DF>/Users/roshnidantuluri/opt/anaconda3/lib/python3.9/site-packages/torch/lib/libtorch_cpu.dylib
解决方案
- 核心原因:
torch_cluster编译时依赖的PyTorch版本与当前安装的PyTorch版本不兼容,导致符号缺失。 - 步骤1:完全卸载相关依赖
执行以下命令清理所有PyTorch及PyG生态库:pip uninstall -y torch torchvision torchaudio torch_geometric torch_cluster torch_scatter torch_sparse torch_spline_conv - 步骤2:重新安装匹配版本的依赖
针对macOS + Python3.9环境,按顺序执行:- 安装适配的PyTorch稳定版:
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 - 安装与PyTorch版本严格匹配的PyG依赖库:选择对应PyTorch版本的预编译包进行安装,执行:
pip install torch_cluster==2.1.1 torch_scatter==2.1.1 torch_sparse==0.6.17 torch_spline_conv==1.2.2 - 安装对应版本的torch_geometric:
pip install torch_geometric==2.3.1
- 安装适配的PyTorch稳定版:
- 步骤3:验证安装
重新运行导入代码,检查是否仍有错误。 - 备选方案:创建干净的conda环境
若原有环境存在依赖冲突,建议新建环境重新安装:conda create -n ocp_env python=3.9 conda activate ocp_env # 重复步骤2的安装命令
内容的提问来源于stack exchange,提问作者Roshini Dantuluri
相关产品推荐
相关产品推荐

