在 '__init__.py | __init__.py' 中找不到引用 'bond'未解析的引用 'hydrogen_bonds'
时间: 2024-10-05 09:03:00 浏览: 49
看起来你在编写Python代码的时候遇到了一个ImportError,特别是在尝试导入`hydrogen_bonds`函数时,但是`__init__.py`文件中似乎没有找到对`MDAnalysis.analysis.bond.hydrogen_bonds`的正确引用。
`MDAnalysis.analysis.bond.hydrogen_bonds`通常用于MDAnalysis库中分析化学键和氢键的功能,所以你需要确保已经正确安装了MDAnalysis并且在你的`__init__.py`文件或者相应的模块中导入了它。如果你还没有这样做,你应该在`__init__.py`里添加以下内容:
```python
from MDAnalysis.analysis.bond import hydrogen_bonds
```
或者如果你的项目结构复杂,可能需要根据你的包结构调整路径,例如:
```python
from .submodule import hydrogen_bonds
```
确保`submodule.py`包含了`hydrogen_bonds`的导入。
如果错误依然存在,可能是以下几个原因之一:
1. `MDAnalysis`库没有正确安装或者版本过低。
2. 导入路径有误,确认`MDAnalysis`是否在项目的PYTHONPATH环境变量中。
3. 模块名、函数名拼写错误,确保`hydrogen_bonds`完全匹配库中的实际名称。
相关问题
Traceback (most recent call last): File "c_bond.py", line 19, in <module> m5_new = create_supercell_bond_pattern(m5) File "c_bond.py", line 15, in create_supercell_bond_pattern analysis.BondValenceModel.rebond(mol333, ignore_pbc=True) AttributeError: type object 'builtins.BondValenceModel' has no attribute 'rebond'
这个错误提示是因为在你的代码中使用了 `BondValenceModel.rebond` 方法,但是 Python 中的内置对象 `builtins.BondValenceModel` 并没有这个方法。
你需要检查一下你的代码,看看是否有导入正确的模块和类,以及是否正确地使用了 `BondValenceModel.rebond` 方法。你可以查阅相关的文档或者示例代码来解决这个问题。另外,你也可以考虑使用其他的方法来实现你的需求。
FROM bobm, bordt, bopdt, bocpd WHERE bobm.bond_code=bordt.bond_code(+) AND bobm.bond_code =bopdt.bond_code(+) AND bobm.bond_code =bocpd.bond_code(+);
这是一个 SQL 查询语句,它使用了表之间的连接操作符(+)来表示左外连接。这个查询从四个表中获取数据:bobm、bordt、bopdt和bocpd。它使用了bobm表中的bond_code列来连接这些表。
左外连接表示将左边的表(bobm)中的所有行都包括在结果中,而右边的表(bordt, bopdt, bocpd)中只包括与左边表中的行匹配的行。如果没有匹配的行,则右边的表中的列将包含NULL值。
请注意,我的回答是基于对您提供的SQL查询的理解,如果有任何误解或遗漏,请及时纠正。
阅读全文