如何解决 "No module named 'frontend'" 错误消息?

How do I resolve "No module named 'frontend'" error message?

我已经安装了 PymuPDF/fitz,因为我正在尝试从 PDF 文件中提取图像。但是,在 运行 下面的代码中,我看到 No module named 'frontend'.

    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'

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

改变

from frontendfrom fitz.frontend

我已经解决了:

pip install PyMuPDF

这实际上允许导入您似乎想要的 fitz。 (有 another fitz,如果您正在处理 PDF 文件,这可能不是您想要的。)

PyPI 上有一个名为 fitz 的包。因为 PyMuPDF 使用相同的名称 fitz 作为其顶级文本,所以两个包不能共存于同一个 Python - 除了上述更改。

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

所以,我使用的是以前版本的PyMuPDF。它非常适合我。

pip install PyMuPDF==1.16.14

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

python script.py

如果您不使用关键字 python,您可能会遇到错误。

在我的例子中,我得到了:

ModuleNotFoundError: No module named 'fitz'

您本可以使用 pdfplumber。如果下面的代码 returns “None”,它是一个扫描的 pdf 否则它是可搜索的。

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

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

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

pip install --upgrade pip
pip install -U PyMuPDF

你应该 运行 pip install fitz 然后是 pip install PyMuPDF。如果您已经安装了 PyMuPDF,请将其卸载并重新安装。

这个组合很适合我:

sudo apt install mupdf
sudo apt install libmupdf-dev
pip3 install PyMuPDF==1.16