Python 导入无模块名错误

3 投票
2 回答
7347 浏览
提问于 2025-04-18 07:48

我在Ubuntu 13.10上用pip安装了pdfminer,安装成功了,文件放在了/usr/local/lib/python2.7/dist-packages/pdfminer这个地方。

当我尝试运行示例代码时:

from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice


if __name__=='__main__':
    # Open a PDF file.
    fp = open('MyPDF.pdf', 'rb')

我总是遇到这个问题:

ImportError: No module named pdfparser

我确认pdfparser是存在的,并且在pdfminer文件夹里有一个__init__.py文件。我还尝试重新创建这个__init__.py文件。我也试过运行chmod -R 777 pdfminer,但这也没有解决问题。

我运行了env命令,但没有看到PYTHONPATH,这会是个问题吗?我还尝试在虚拟环境中安装PDFMiner,但也不行。我注意到安装PDFMiner需要管理员权限,这会是问题吗?

我到底哪里做错了呢?

2 个回答

1

你是在一个叫做 pdfminer.py 的文件里运行代码吗?

在我的情况下,这就是导致错误的原因。Python 尝试从同名的文件中导入模块。

2

你试过

from pdfminer import pdfparser

或者

import pdfminer.pdfparser

吗?

撰写回答