#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. "