ModuleNotFoundError:没有名为“前端”的模块

时间:2019-06-05 20:37:22

标签: python-3.x mupdf

我已经安装了PymuPDF / fitz,但是在运行下面的示例代码后,我试图从PDF文件中提取图像

doc = fitz.open(pdf_path)
        for i in range(len(doc)):
            for img in doc.getPageImageList(i):
                xref = img[0]
                pix = fitz.Pixmap(doc, xref)
                if pix.n < 5:  # this is GRAY or RGB
                    pix.writePNG("p%s-%s.png" % (i, xref))
                else:  # CMYK: convert to RGB first
                    pix1 = fitz.Pixmap(fitz.csRGB, pix)
                    pix1.writePNG("p%s-%s.png" % (i, xref))
                    pix1 = None
                pix = None

它给了我以下错误,我已经搜索了但没有单个报告这种错误,我已经安装了PyMuPDF,muPDF和fitz模块

Traceback (most recent call last):
  File "/home/waqar/PycharmProjects/predator/ExtractFileImage.py", line 1, in <module>
    import fitz
  File "/home/waqar/anaconda3/envs/retinanet/lib/python3.6/site-packages/fitz/__init__.py", line 1, in <module>
    from frontend import *
ModuleNotFoundError: No module named 'frontend'

7 个答案:

答案 0 :(得分:4)

PyPI上有一个名为fitz的软件包。由于PyMuPDF使用相同的名称fitz作为其顶层文本,因此除上述更改外,这两个软件包无法在同一Python中共存。

答案 1 :(得分:3)

我已通过以下方式解决了此问题:

pip install PyMuPDF

答案 2 :(得分:3)

我尝试了以上pip install PyMuPDF的解决方案。 但它开箱即用。

因此,我使用了PyMuPDF的先前版本。对我来说效果很好。

pip install PyMuPDF==1.16.14

答案 3 :(得分:1)

在文件/home/waqar/anaconda3/envs/retinanet/lib/python3.6/site-packages/fitz/__init__.py

更改

from frontendfrom fitz.frontend

答案 4 :(得分:1)

Python3 并且您已经安装了 PyMuPDF 模块。

pip install --upgrade pip
pip install -U PyMuPDF

答案 5 :(得分:0)

在脚本上调用python应该可以解决问题:

python script.py

如果您不使用关键字python,则可能会收到错误消息。

就我而言,我得到了:

ModuleNotFoundError: No module named 'fitz'

答案 6 :(得分:-2)

您可以使用 pdfplumber。如果以下代码返回“无”,则为扫描的 pdf,否则可搜索。

with pdfplumber.open(file_name) as pdf:
    page = pdf.pages[0]
    text = page.extract_text()
    print(text)

要从扫描的 pdf 中提取文本,您可以使用 OCRmyPDF。简易包装