Исполняемый файл приложения Python, созданный с помощью autopytoexe, получает FileNotFoundError Win Error 2 система не может найти указанный файл

#python #batch-file #pyinstaller

#python #пакетный файл #pyinstaller

Вопрос:

Я создал приложение на python с использованием PYQT5, все работает безупречно, я хотел бы иметь возможность распространять его в любой системе, поэтому я начал использовать для этого pyinstaller и autopytoexe, однако после создания исполняемого файла я получаю:

Ошибка FileNotFoundError: [Ошибка 2] Система не может найти указанный файл:

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

Когда .exe создается, как только я пытаюсь запустить пакетный файл, он выходит из строя, поскольку не находит файл .bat.

Также значок окна не отображается, хотя значок исполняемого файла установлен правильно.

Я попробовал следующее с autopytoexe, также попробовал опцию onfile с теми же результатами.

pyinstaller --noconfirm --onedir --console --icon "C:/Users/Myuser/Documents/Programming/Python/MyApp/img/MyIcon.ico" --add-data "C:/Users/Myuser/Documents/Programming/Python/MyApp/Bat/Programming.bat;Programming.bat" --add-data "C:/Users/Myuser/Documents/Programming/Python/MyApp/img/MyIcon.ico;MyIcon.ico" "C:/Users/Myuser/Documents/Programming/Python/MyApp/Programmer.py"

Я что-то пропустил в своей настройке?

У кого-нибудь еще была эта проблема?

Есть ли другой способ добавить файлы в приложение, чтобы они были связаны с .exe?

Спасибо

Комментарии:

1. Вы понимаете, что такое текущий рабочий каталог ?

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

Ответ №1:

Решение, возможно, было слишком очевидным для некоторых людей, однако опубликовать ответ не помешает, приложение не нашло связанные files .bat и значок, потому что я неправильно настраивал файлы, после некоторого тестирования я обнаружил, что файлы должны были быть включены следующим образом:

 
--add-data "File path where the files are hosted ; Directory name where the files would be taken from at run time.  "