ierikk
@ierikk
Python Developer, Data scientists и др.

После создания .exe часть программы не может выполниться из-за ошибки, как исправить?

Были файлы .py

Как обычно основной main.py в нем уже подключены другие файлы.
Так же хочу заметить, что использовал GUI - QT.
Файлы GUI тоже преобразованы в .py

Суть программы в том, что она создает файл .txt в который после записываются наименования и допустим
дата создания (не суть, что пишем туда)
После все наименования пересортируются в новый файл .txt , по порядку дат.
И все это выводится в окне, созданным специально для данного действия.

По итогу, если запускать через IDLE или PyCharm, все работает отлично! И без ошибочно!
Из них (файлов .py) с помощью pyinstallera был создан единый файл .exe ( с флагом, -F)

Теперь если мы запускаем файл .exe он открывается нормально, но при выполнении действий не выполняет свои функции (но если закрыть программу и снова включить, действие сортировки выполнились...)

Окна ошибок (с GUI) вовсе не показываются, просто тишина..
Допустим, у меня есть поля, и если одно из них пустое, и нажать кнопку ДОБАВИТЬ - то он выводит окно с описанием ошибки.

Смотрим в консоль и видим: "имя модуля" (любого другого) не является внутренний или внешней командой, исполняемой программой или пакетом файлов.

И так на каждый модуль, кроме основного (main.py - его он запускает) всему остальному не дает работать..

А по сути - это утилита. Она создает рядом с собой документы txt и работает в них.
Как исправить данную ошибку?
Ведь с IDLE все работает корректно.
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Видимо не правильно сделана структура программы(вызов модулей), раз выдает такие ошибки. Программа должна реализовываться по ООП принципу, а не по сценарному.
Ответ написан
Комментировать
@Andrey_Dolg
Сложно говорить без кода однако при работе с файлами в pyindtaller нужно помнить пару вещей.
1) Не всё что нужно программе будет упаковано и не редко часть файлов нужно будет писать, в спек сборки самому.
2) Ваша программа во время исполнения находится во временной директории("/tmp/_MEI34121" как пример) из-за чего нужно немного иначе работать с путями до файлов.
" имя модуля" (любого другого) не является внутренний или внешней командой, исполняемой программой или пакетом файлов"
Визуально они вызываются в cmd как команды почему вопрос к вам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы