0

当我尝试像这样导入时,我的 Python 无法找出子模块reportlab.graphics.shapes

>>> from reportlab.graphics.shapes import Drawing

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    from reportlab.graphics.shapes import Drawing
ImportError: No module named shapes

我已将reportlab包复制到/site-packages并且可以成功导入模块 reportlab.graphics

我的 Python 版本是 2.7.3。

谁能帮我解决这个问题?

4

2 回答 2

1

正如@dan-boa 指出的那样,您可以将路径添加到模块搜索路径,但是由于您可以找到父模块,我怀疑这是您的根本问题。

您是否在另一条路径上安装了一些剩余的模块?您可以通过执行以下命令检查找到父包 (reportlab) 的路径:

import reportlab
print reportlab.__file__

如果这确实是您期望的路径,则使用子模块递归地尝试此操作,直到您可以看到问题出在哪里。也许,您的包裹已损坏?如果可以找到有问题的文件/模块,请尝试手动检查返回的路径。

如果这不是您期望的路径,请从第二个路径清理安装并重试。

最后,万一你发现是路径问题,不用每次都使用 sys.path.append 添加路径,你可以将它添加到PYTHONPATH

于 2012-06-06T08:07:34.643 回答
0

请检查您的系统路径,如果模块的目录不存在,请添加它。

import sys
sys.path.append('PATH_OF_THE_MODULE')

由于 site-packages 已经在 sys.path 中,因此可能是该包已成功导入。

于 2012-06-06T07:25:50.950 回答