我在尝试导入pybel模块时遇到了AttributeError

时间:2018-03-24 08:06:53

标签: python python-2.7 module attributeerror

参考以下说明: http://open-babel.readthedocs.io/en/latest/UseTheLibrary/Python_Pybel.html

http://openbabel.org/wiki/Category:Installation安装Windows 64位版本的Openbabel 2.4.1后,我已经通过pip安装了openbabel和pybel。

>>>pip install pybel
>>>pip install openbabel

我试图以sdf格式找到分子的分子量(文件名是mol1.sdf存在于同一目录中)

我创建的python文件(test.py)如下:

import pybel
mol = pybel.readfile("sdf", "mol1.sdf").next()
print (mol.molwt)

这是命令提示符中发生的事情:

>>> python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
mol = pybel.readfile("sdf", "mol1.sdf").next()
AttributeError: 'module' object has no attribute 'readfile'

但是根据上面参考链接中的示例代码,有一个名为&#39; readfile&#39;读取文件和格式。我错过了什么吗?感谢

3 个答案:

答案 0 :(得分:0)

我发现我弄错了。事实证明,我没有为该程序安装Python Bindings v1.8。

答案 1 :(得分:0)

您安装了“错误的” pybel。对于使用Acaconda的用户,您应该搜索openbabel并安装它。安装openbabel之后,您应该可以使用pybel。不要直接搜索和安装pybel,pybel本身不起作用。 您应该执行以下操作: conda uninstall pybelconda install -c openbabel openbabel

答案 2 :(得分:0)

我遇到了同样的错误,后来意识到我安装了错误的 'pybel' 库。 如果您使用 conda install pybelpip install pybel 安装了“pybel”,那么您安装了错误的库(即 https://pypi.org/project/pybel/)。您可以使用 help(pybel) 查看包描述,以检查它是否是您期望的包。

要安装正确的“pybel”库,请使用 conda install openbabelpip install openbabel。安装后,使用此命令 from openbabel import pybel 导入“pybel”,现在您拥有了可以使用的正确库。如果仍然出现错误,请考虑使用 openbabel 本身。