PyMuPDF: Ошибка атрибута: модуль «фитц» не имеет атрибута «открыть»

#python #pymupdf

Вопрос:

pip3 install PyMuPDF

 Collecting PyMuPDF Using cached PyMuPDF-1.18.17-cp37-cp37m-win_amd64.whl (5.4 MB)
Installing collected packages: PyMuPDF
Successfully installed PyMuPDF-1.18.17
 
 import fitz
doc = fitz.open("my_pdf.pdf")
 

Когда я ищу def open в fitz.py файле, я ничего не нахожу.
Итак, я понимаю ошибку, но я не понимаю, почему файл, который я загружаю, не имеет этой функции ? Может кто — нибудь поделиться хорошими файлами, пожалуйста ? Или, может быть, я пропустил что-то еще ?

ПОЛНЫЙ СЛЕД:

 runfile('D:/Documents/Python_projects/Point_and_area_pdf_to_excel/get_info.py', wdir='D:/Documents/Python_projects/Point_and_area_pdf_to_excel')
Reloaded modules: six, dateutil._common, dateutil.relativedelta, dateutil.tz._common, dateutil.tz._factories, dateutil.tz.win, dateutil.tz.tz, dateutil.tz, dateutil.parser._parser, dateutil.parser.isoparser, dateutil.parser, chardet.enums, chardet.charsetprober, chardet.charsetgroupprober, chardet.codingstatemachine, chardet.escsm, chardet.escprober, chardet.latin1prober, chardet.mbcssm, chardet.utf8prober, chardet.mbcharsetprober, chardet.euctwfreq, chardet.euckrfreq, chardet.gb2312freq, chardet.big5freq, chardet.jisfreq, chardet.chardistribution, chardet.jpcntx, chardet.sjisprober, chardet.eucjpprober, chardet.gb2312prober, chardet.euckrprober, chardet.cp949prober, chardet.big5prober, chardet.euctwprober, chardet.mbcsgroupprober, chardet.hebrewprober, chardet.sbcharsetprober, chardet.langbulgarianmodel, chardet.langgreekmodel, chardet.langhebrewmodel, chardet.langrussianmodel, chardet.langthaimodel, chardet.langturkishmodel, chardet.sbcsgroupprober, chardet.universaldetector, chardet.version, chardet
Traceback (most recent call last):

  File "D:DocumentsPython_projectsPoint_and_area_pdf_to_excelget_info.py", line 45, in <module>
    print(get_dict_list(path))

  File "D:DocumentsPython_projectsPoint_and_area_pdf_to_excelget_info.py", line 7, in get_dict_list
    text_list = get_pdf_page_text_list(pdf_path)

  File "D:DocumentsPython_projectsPoint_and_area_pdf_to_excelget_info.py", line 19, in get_pdf_page_text_list
    doc = fitz.open(pdf_path)

AttributeError: module 'fitz' has no attribute 'open'
 

Комментарии:

1. Вы можете опубликовать ошибку и трассировку?

2. Это то, что тебе было нужно ?

Ответ №1:

Скорее всего, это проблема с установкой, и похоже, что в вашей среде уже существует пакет fitz , установленный в вашей среде и не связанный с PyMuPDF ней .

Поэтому, когда PyMuPDF звонит fitz , это может быть на самом деле вызов не того fitz пакета.

Вы можете подумать о том, чтобы выполнить чистую установку всех зависимостей или создать виртуальную среду для работы PyMuPDF .

Вы также можете попробовать вернуться fitz к версии 1.16.14

Комментарии:

1. Поддержите и примите этот ответ, если он решил вашу проблему или был наиболее полезен в поиске вашего решения (помогает сообществу SO).

2. Я думаю, что это тот самый. Я не мог решить проблему на своем Spyder env, слишком сложно. Я передал PyCharm env, и это сработало как заклинание.

Ответ №2:

Удалите и переустановите PyMuPDF.

эта ошибка обычно указывает на то, что init.py не был казнен. Что, например, происходит, когда вы находитесь в каталоге установки fitz и запускаете python.

 > pip uninstall PyMuPDF
Found existing installation: PyMuPDF 1.18.17
Uninstalling PyMuPDF-1.18.17:
  Would remove:
    /home/deerawj/.local/lib/python3.9/site-packages/PyMuPDF-1.18.17.dist-info/*
    /home/deerawj/.local/lib/python3.9/site-packages/fitz/*
Proceed (y/n)? y
  Successfully uninstalled PyMuPDF-1.18.17

> pip install PyMuPDF
Collecting PyMuPDF
  Downloading PyMuPDF-1.18.17-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.4 MB)
     |████████████████████████████████| 6.4 MB 62 kB/s
Installing collected packages: PyMuPDF
Successfully installed PyMuPDF-1.18.17
 

Также проверьте,
https://github.com/pymupdf/PyMuPDF/issues/660