После создания .exe часть программы не может выполниться из-за ошибки, как исправить?
Были файлы .py
Как обычно основной main.py в нем уже подключены другие файлы.
Так же хочу заметить, что использовал GUI - QT.
Файлы GUI тоже преобразованы в .py
Суть программы в том, что она создает файл .txt в который после записываются наименования и допустим
дата создания (не суть, что пишем туда)
После все наименования пересортируются в новый файл .txt , по порядку дат.
И все это выводится в окне, созданным специально для данного действия.
По итогу, если запускать через IDLE или PyCharm, все работает отлично! И без ошибочно! Из них (файлов .py) с помощью pyinstallera был создан единый файл .exe ( с флагом, -F)
Теперь если мы запускаем файл .exe он открывается нормально, но при выполнении действий не выполняет свои функции(но если закрыть программу и снова включить, действие сортировки выполнились...)
Окна ошибок (с GUI) вовсе не показываются, просто тишина..
Допустим, у меня есть поля, и если одно из них пустое, и нажать кнопку ДОБАВИТЬ - то он выводит окно с описанием ошибки.
Смотрим в консоль и видим:"имя модуля" (любого другого) не является внутренний или внешней командой, исполняемой программой или пакетом файлов.
И так на каждый модуль, кроме основного (main.py - его он запускает) всему остальному не дает работать..
А по сути - это утилита. Она создает рядом с собой документы txt и работает в них. Как исправить данную ошибку? Ведь с IDLE все работает корректно.
Видимо не правильно сделана структура программы(вызов модулей), раз выдает такие ошибки. Программа должна реализовываться по ООП принципу, а не по сценарному.
Сложно говорить без кода однако при работе с файлами в pyindtaller нужно помнить пару вещей.
1) Не всё что нужно программе будет упаковано и не редко часть файлов нужно будет писать, в спек сборки самому.
2) Ваша программа во время исполнения находится во временной директории("/tmp/_MEI34121" как пример) из-за чего нужно немного иначе работать с путями до файлов.
" имя модуля" (любого другого) не является внутренний или внешней командой, исполняемой программой или пакетом файлов"
Визуально они вызываются в cmd как команды почему вопрос к вам.