2016-11-21 6 views
5

Я имею трудное время преодолеть эту ошибку, я искал везде для этого сообщения об ошибке, и ничто не кажется, отношение к моей ситуации:Windows- Pyinstaller Ошибка «Не удалось выполнить сценарий» Когда App Нажал

"failed to execute script new-app" 

new-app - моя программа GUI для python. Когда я запускаю pyinstaller, используя эту команду:

pyinstaller.exe --onedir --hidden-import FileDialog --windowed --noupx new-app.py 

Он работает нормально. Кроме того, когда я выполнить командную строку для запуска программы GUI, она прекрасно работает и графический интерфейс генерируется с помощью этой команды:

.\dist\new-app\new-app.exe 

Но когда я иду в этот файл, мы надеемся, чтобы иметь возможность нажать на приложение получить графический интерфейс, он дает мне ошибку, указанную выше. Почему это?

Я использую python2.7, а ОС - Windows 7 Enterprise.

Любые материалы будут оценены и благодарны заблаговременно.

+0

@eryksun извините, это опечатка, я исправляю ее сейчас. – aBiologist

+0

Сделано, исправляя опечатку! – aBiologist

ответ

9

Ну, я думаю, я нашел решение для моего вопроса, вот как я это сделал:

Eventhough Я был в состоянии успешно запустить программу с помощью обычной команды питона, а также успешно работать pyinstaller и быть способный выполнить приложение «new_app.exe» с использованием командной строки, упомянутой в вопросе, который в обоих случаях отображает графический интерфейс без каких-либо проблем. Однако, только когда я нажимаю приложение, он не позволяет отображать графический интерфейс и не генерируется ошибка.

Итак, что я сделал, я добавил дополнительный параметр -debug в команду pyinstaller и удалив параметр -windowed, чтобы я мог видеть, что на самом деле происходит при нажатии на приложение, и я узнал, что есть ошибка, которая имела большой смысл, когда я ее отслеживаю, она в основном жаловалась, что «some_image.jpg» нет такого файла или каталога.

Причина, по которой она жалуется и не жаловалась, когда я запускал сценарий с первого места или даже с использованием командной строки «./», потому что образ файла существовал тем же путем, что и скрипт, но когда pyinstaller созданный каталог «dist», в котором есть продукт приложения, совершенно очевидно, что файла изображения нет, и поэтому я в основном переместил его в каталог dist, где есть приложение, доступное для клика!

+0

Проводник устанавливает рабочий каталог в рабочий файл с открытым целевым файлом при двойном щелчке по файлу. Но ваш исполняемый файл может быть запущен с любым рабочим каталогом, и он все равно должен будет найти все свои данные относительно себя. Обычно с замороженной программой это 'os.path.dirname (sys.argv [0])' или 'os.path.dirname (sys.executable)'. Предпочтительно использовать 'os.path.join' для создания путей для ваших файлов данных, но вы также можете изменить рабочий каталог через' os.chdir'. – eryksun

+0

Спасибо, человек, вы заслуживаете большего удовольствия (y) –

+0

Подход помогает. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^