使用RDKit 2024.03.4时出现“AllChem未定义”错误的解决求助
解决RDKit中"AllChem is not defined"错误的方法
错误原因:AllChem是RDKit的子模块,未被导入或未通过正确路径访问,导致Python无法识别该名称。
解决方法1:显式导入AllChem模块
在代码开头添加导入语句,有两种常用方式:
# 方式一:从rdkit包中同时导入Chem和AllChem from rdkit import Chem, AllChem template = Chem.MolFromSmiles('c1nccc2n1ccc2') AllChem.Compute2DCoords(template)
或者
# 方式二:从rdkit.Chem子包导入AllChem(更贴合RDKit的模块层级) from rdkit.Chem import Chem, AllChem template = Chem.MolFromSmiles('c1nccc2n1ccc2') AllChem.Compute2DCoords(template)
解决方法2:通过父模块Chem访问AllChem
如果不想额外导入AllChem模块,可以直接通过Chem.AllChem的层级路径调用方法:
from rdkit import Chem template = Chem.MolFromSmiles('c1nccc2n1ccc2') Chem.AllChem.Compute2DCoords(template)
内容的提问来源于stack exchange,提问作者Cheng Rachel
相关产品推荐
相关产品推荐

