Почему pyinstaller создает огромный exe-файл при использовании его с модулями pdfminer в Python 3.6? - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь создать exe-файл с помощью pyinstaller (в Python 3.6) из скрипта, использующего модули pdfminer, но созданный exe-файл огромен, около 240 МБ . Напротив, при использовании pyinstaller в Python 2.7 с похожим сценарием созданный исполняемый файл занимает всего около 10 МБ.

Что я делаю неправильно?

Я создаю exe-файл следующей командой: pyinstaller.exe --onefile {имя файла / путь}

Мой код:

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

...

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = io.StringIO()
    #codec = 'windows-1250'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, laparams=laparams)
    fp = open(path, 'rb')
    # reply = s.get(path, stream=True, verify= False)
    # fp = StringIO()
    # fp.write(reply.content)
    # fp.seek(0)
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos = set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

...

...