我在尝试导入 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 pybel
或pip install pybel
安装了“pybel”,那么您安装了错误的库(即https://pypi.org/project/pybel/)。您可以使用help(pybel)
查看包说明,以检查它是否是您所期望的包。
要安装正确的“pybel”库,请使用conda install openbabel
或pip install openbabel
。安装后使用此命令from openbabel import pybel
导入“pybel”,现在您可以使用正确的库了。如果仍然出现错误,请考虑使用 openbabel
本身。
【讨论】:
以上是关于我在尝试导入 pybel 模块时遇到 AttributeError的主要内容,如果未能解决你的问题,请参考以下文章