Неустранимая ошибка cx_freeze после InnoSetup

Я пытаюсь создать автономный исполняемый файл с помощью cx_freeze и InnoSetup. Это очень простой скрипт Python, который использует Pygame для создания графического интерфейса для программы-таймера.

Я могу запустить скрипт напрямую с помощью python.exe без проблем. Я также могу скомпилировать скрипт в исполняемый файл с помощью cx_freeze и запустить его без проблем.

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

введите здесь описание изображения

Кто-нибудь с предыдущим опытом с этой проблемой любезно помочь мне :)?

Факты: - Я использую 64-разрядную версию Windows 7 Home Premium - Я использую 64-разрядную версию Python 3.2.3 с Pygame 1.9.2 - Я установил cx_freeze, чтобы не создавать zip-папки при компиляции, потому что это вызовет ошибку zipimporter.

Спасибо! Если есть какая-либо другая информация, которую я должен предоставить, пожалуйста, дайте мне знать: D


person Kevin Hsu    schedule 17.12.2012    source источник
comment
Я не знаю, что делает cx_freeze или ваш скрипт Python, но я хотел бы знать, сколько файлов содержит cx_freeze? Все ли они извлекаются куда-то во время установки? Я имею в виду, если в cx_freeze или вашем скрипте не отсутствует какая-то библиотека или какой-то другой файл?   -  person TLama    schedule 17.12.2012
comment
Компиляция скрипта с помощью cx_freeze создает 48 файлов в одной папке (включая исполняемый файл). Я не думаю, что какие-либо библиотеки отсутствуют, потому что ошибка возникает только после использования InnoSetup. Исполняемый файл, созданный cx_freeze, работает отлично. Это что-нибудь объясняет Д:?   -  person Kevin Hsu    schedule 17.12.2012
comment
Что ж, после использования InnoSetup это довольно большой срок. Итак, вы установили все эти файлы с помощью InnoSetup в определенный каталог. Вы запускаете это из InnoSetup? Если да, то какие привилегии есть у установщика (запрашивал ли он права администратора)? Пожалуйста, используйте @, когда вы хотите уведомить кого-то с помощью комментария (мне это не нужно, так как вы получаете все уведомления, потому что вопрос принадлежит вам). И вообще, добро пожаловать в StackOverflow!   -  person TLama    schedule 17.12.2012
comment
Спасибо @TLama! Извините, я не был очень конкретным, потому что я не слишком хорошо знаком с InnoSetup. Да, я создал установщик для своей программы с помощью InnoSetup. Затем я установил свою программу в новый каталог (с правами администратора, потому что она запрашивала повышение прав). Только при запуске исполняемого файла, созданного установщиком (созданным InnoSetup), выскакивал код ошибки. Я также попытался запустить .exe с правами администратора, код ошибки все еще выскакивал. Спасибо большое за вашу помощь! Я очень ценю это!   -  person Kevin Hsu    schedule 17.12.2012
comment
Извините, но боюсь, что не смогу помочь. Вы каким-то образом компилируете этот скрипт в исполняемый файл во время процесса установки или уже сделали его, включенный только в установщик? Извините за мой глупый вопрос, но я действительно не знаю Python.   -  person TLama    schedule 17.12.2012
comment
@TLama: cx_Freeze отвечает за создание исполняемого файла для сценария, и он говорит, что после этого шага он работает. Затем он использует InnoSetup, чтобы сделать из этого установщик.   -  person Thomas K    schedule 20.12.2012


Ответы (1)


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

Если это так, то у вас, вероятно, есть некоторая зависимость от текущего рабочего каталога, и вам нужно будет либо исправить это, либо соответствующим образом установить параметр WorkingDir.

Если он терпит неудачу, когда вы запускаете его напрямую, то вы, вероятно, не можете установить (или проверить) какую-то требуемую зависимость, например, сам Python.

person Miral    schedule 18.12.2012