Проблемы с опцией pyinstaller --windowed

Я пытаюсь преобразовать свой файл py в exe с помощью Pyinstaller, и у меня не было проблем, пока я не ввел параметр --windowed или -w, чтобы скрыть консоль. При использовании этого параметра любые элементы, зависящие от модуля pdf2image, не отображаются. Когда я запаковываю exe с параметром --debug=all, программа вообще не запускается, и я получаю ошибку Failed to execute script pyiboot01_bootstrap. Я читал, что эта проблема может быть связана с тем, что Pyinstaller не поддерживает Poppler (на который опирается pdf2image), но никакие решения, которые я пробовал, не сработали. Что я пробовал:

Упаковка с помощью pyinstaller -F -w --add-binary="path\to\poppler\bin;." script.py, как описано здесь

Упаковка с помощью pyinstaller -F -w --additional-hook-dir=hooks script.py, как описано здесь

Упаковка в несколько разных версий: Python 3.8.5 и Pyinstaller 4.0, Python 3.7.9 и Pyinstaller 4.0, Python 3.7.9 и Pyinstaller 3.5. Каждое решение, которое я пробовал, могло работать, если я просто пропустил опцию -w, но я действительно предпочел бы не открывать консоль при запуске exe. Что может быть причиной этого конфликта между опцией -w и pdf2image / Poppler? Существуют ли обходные пути решения этой проблемы? Я все еще новичок в Python, поэтому буду очень признателен за любую помощь. Благодарю вас!


person Zach Yuan    schedule 18.09.2020    source источник