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

Posted

技术标签:

【中文标题】我在尝试导入 pybel 模块时遇到 AttributeError【英文标题】:I arrive at an AttributeError while trying to import the pybel module 【发布时间】:2018-09-02 21:27:43 【问题描述】:

参考以下说明: 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'

但是根据上面参考链接中的示例代码,有一个名为'readfile'的属性,它可以读取文件和格式。我错过了什么吗?谢谢

【问题讨论】:

你看到了吗:forums.openbabel.org/…? @Georgy 感谢您的链接!原来我没有为程序安装 Python Bindings。 在这种情况下,您可以为自己的问题写一个答案并接受它,以帮助将来遇到同样问题的人 【参考方案1】:

我发现我犯了一个错误。原来我没有为程序安装 Python Bindings v1.8。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

我得到了同样的错误,后来意识到我安装了错误的 '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 本身。

【讨论】:

以上是关于我在尝试导入 pybel 模块时遇到 AttributeError的主要内容,如果未能解决你的问题,请参考以下文章

在 Nuke 导入 pandas 模块时遇到问题

Python3 - tkinter 导入和使用模块

我在尝试加载 Pytorch 模型时遇到问题:“无法在模块中找到身份”

导入组件时未找到 VueJS 模块错误

从节点模块直接导入的 CSS 文件奇怪地丢失了

如何创建依赖于另一个 JAR 的 JAR?