报错:AttributeError: 'Mol' object has no attribute 'Draw' 怎么办
时间: 2023-07-30 16:13:14 浏览: 96
如果你遇到了`'Mol' object has no attribute 'Draw'`的错误,这可能是因为你的RDKit安装缺少分子绘制的依赖库。在某些操作系统上,RDKit默认情况下不包含分子图绘制功能。
为了解决这个问题,你可以尝试安装`pillow`库,它是RDKit绘制分子图所需的依赖库。你可以使用以下命令来安装`pillow`库:
```
pip install pillow
```
在安装完成后,重新运行你的代码,应该就能够成功绘制分子图了。如果仍然遇到问题,请确保你的RDKit版本是最新的,并且按照官方文档指示正确安装了RDKit库。
相关问题
报错:AttributeError: 'QBarSet' object has no attribute 'attachAxis'
这个错误提示 "AttributeError: 'QBarSet' object has no attribute 'attachAxis'" 是在使用 Qt(一种用于图形用户界面开发的框架)时遇到的问题。`QBarSet` 是 Qt 中的一个类,通常用于处理条形图数据集。'attachAxis' 属性或方法似乎在这个 QBarSet 对象上找不到。
可能的原因有:
1. 你尝试调用的方法或属性 `attachAxis` 在当前版本的 Qt 中已经被弃用或者不在 QBarSet 类中定义。
2. 你可能没有正确地实例化或初始化 `QBarSet`,或者对它的使用姿势不正确,导致无法找到该属性。
3. 可能你在旧代码基础上更新了库,而新的 API 排除了这个方法。
为了解决这个问题,你可以尝试以下几个步骤:
- 确认你的 Qt 版本和文档是否支持 `attachAxis` 方法,如果是旧版本,可能需要查找替代方法。
- 检查你的代码,确认 `QBarSet` 是否已经正确创建,并且你试图操作的对象确实是一个 `QBarSet` 实例。
- 如果 `attachAxis` 是你需要的功能,查阅官方文档或源码,看看是否有其他合适的接口实现相同功能。
报错:AttributeError: 'ImageDraw' object has no attribute 'textsize'
这个`AttributeError`通常发生在尝试调用一个对象的方法或属性,但该对象实际上并没有这个属性或方法。在你的问题中,你提到了`ImageDraw`对象,这是PIL(Python Imaging Library)中的一个模块,用于在图像上绘图。
`textsize` 是一个常见的方法,用于计算文本在给定字体和大小下占用的宽度和高度。如果你遇到`AttributeError: 'ImageDraw' object has no attribute 'textsize'`,这可能有以下几种情况:
1. **版本差异**:`textsize` 方法在PIL 3.4.0 版本后被弃用,而推荐使用`font.getsize(text)`代替。如果你使用的是较旧版本,可能需要更新到最新版,或者按照新方法处理文本尺寸。
2. **导入问题**:确保你在代码中正确地导入了`PIL.ImageDraw`和`PIL.ImageFont`模块,因为`textsize`方法是在`ImageFont`中找到的。
3. **对象初始化**:确保你创建的`ImageDraw`对象实例正确地初始化了一个`ImageFont`对象,因为`textsize`依赖于一个有效的字体对象。
4. **拼写错误**:检查你的代码中是否正确地使用了`textsize`,有时可能是由于拼写错误导致的,例如`ImageDraw.textsize()`而不是`ImageDraw.textsize()`。
修复这个问题的一般步骤是:
1. 检查导入语句,确保正确导入了`ImageDraw`和`ImageFont`。
2. 确保`ImageDraw`对象已经关联了一个`ImageFont`对象。
3. 如果在使用`textsize`,请确认使用的是`font.getsize(text)`。
阅读全文