Сбой Pyinstaller, потому что pyconfig.h не найден в Windows - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь создать исполняемый файл из скрипта Python, используя PyInstaller, но получаю следующую ошибку:

30391 INFO: Loading module hook "hook-distutils.py"...
Unable to find "\AppData\Local\Programs\Thonny\Include\pyconfig.h" when 
adding binary and data files.

Я мог найти только случаи, когда у людей была эта проблема в Linux, но я в Windows. Я попытался добавить пустой файл с именем pyconfig.h к указанному пути к файлу. Это позволило PyInstaller завершиться, но полученный файл .exe печатает только некоторый текст и сразу закрывает окно консоли.

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

Я запускаю PyInstaller через системную оболочку на Thonny. Моя ОС - Windows 10, а версия Python - 3.6.4.

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

pyconfig.h является частью пакета python-dev. Установка python-dev также может исправить вашу проблему.

См. Этот вопрос, чтобы понять, что такое python-dev: Что такое пакет python-dev, используемый для

0 голосов
/ 27 апреля 2018

Хорошо, так что мне удалось решить это самостоятельно. Оказывается, это была комбинация нескольких ошибок.

Создание пустого pyconfig.h файла решило исходную проблему.

Запуск exe из командной строки позволил мне увидеть, что было на самом деле. Оказывается, это был отсутствующий скрытый импорт из модуля pandas.

Я также забыл включить свой файл данных и драйвер Chrome. Все эти проблемы были исправлены при редактировании файла спецификации pyinstaller:

a = Analysis(['script.py'],
         binaries=[('chromedriver.exe','.')],
         datas=[('data/datafile.xlsx','data')],
         hiddenimports=['pandas._libs.tslibs.timedeltas'],
         ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...