Как я могу импортировать все мои python файлы в иерархии нескольких папок в один исполняемый файл pyinstaller? - PullRequest
0 голосов
/ 04 апреля 2020

Я разрабатываю приложение Windows на основе PyQT. У меня много папок со многими python файлами. Но когда я пытаюсь создать исполняемый файл с пакетом pyinstaller python, зависимости файлов в других папках не могут быть разрешены. Для простоты, это моя структура папок

gui
    -gui.py
    -main.py
libs
    -testlibs.py
utility
    -folderstructure.py

Я использовал команду pyinstaller main.py --onefile Проблема в gui .py import utility.folderstructure, которая не может быть разрешен после генерации exe.

exe выдает исключение, что утилита не может быть найдена.

Я добавил опцию каталога подключения ловушек. В это я добавил файл с именем hook- gui .py с содержимым hiddenimports = [". Utility.folderstructure. *"] Теперь моя структура папок

gui
    -gui.py
    -main.py
    -hook-gui.py
libs
    -testlibs.py
utility
    -folderstructure.py

Но при выполнении команды pyinstaller ---- дополнительный-hooks-dir =. main.py --onefile

ИНФОРМАЦИЯ: Крюк загрузочного модуля hook- gui .py ... ВНИМАНИЕ: Скрытый импорт .utility.folderstructure. * не найдено! Эта конкретная ошибка выскакивает.

Не могли бы вы сказать, где я не прав?

1 Ответ

0 голосов
/ 07 апреля 2020

Обычно я использовал бы макет, подобный следующему:

-main.py
-gui
    -init.py
    -gui.py
    -hook-gui.py
-libs
    -init.py
    -testlibs.py
-utility
    -init.py
    -folderstructure.py

Pyinstaller всегда находил модули для меня в этом макете стиля.

Вам просто нужно настроить некоторые импорт.

...