Проблема с развертыванием программы Python (в комплекте с py2exe)

У меня проблема: я использовал py2exe для своей программы, и он работал на моем компьютере. Я упаковал его с помощью Inno Setup (все еще работало на моем компьютере), но когда я отправил его на другой компьютер, я получил следующую ошибку при попытке запустить приложение: «Ошибка CreateProcess; код 14001.» Приложение не запускается. (Примечание: я использую wxPython и модуль многопроцессорности в своей программе.) Я немного погуглил и обнаружил, что пользователь должен установить что-то распространяемое MS, но я не хочу усложнять жизнь своим пользователям. Есть ли решение?

Версии:

Python 2.6.2c1, py2exe 0.6.9, Windows XP Pro


person Ram Rachum    schedule 26.06.2009    source источник


Ответы (4)


Вам необходимо включить msvcr90.dll, Microsoft.VC90.CRT.manifest и python.exe.manifest (переименованный в [yourappname] .exe.manifest) в ваш установочный каталог. Эти файлы будут в каталоге Python26 вашей системы, если вы установили Python с опцией «Только для меня».

Инструкции для этого можно найти здесь.

Не забудьте вызвать multiprocessing.freeze_support () в ваша основная функция, иначе у вас возникнут проблемы при запуске нового процесса.

В то время как другие обсуждали включение среды выполнения MSVC в ваш установочный пакет, указанное выше решение работает, когда вы хотите распространить только один файл .zip, содержащий все ваши файлы. Это позволяет избежать создания отдельного установочного пакета, если вам не нужны дополнительные сложности.

person Brandon    schedule 26.06.2009

Вы должны иметь возможность установить эту распространяемую штуку MS как часть вашего установочного exe InnoSetup.

person Lennart Regebro    schedule 26.06.2009

Когда вы запускаете py2exe, внимательно посмотрите на окончательные сообщения, когда он будет завершен. Он дает вам список библиотек DLL, которые, по его словам, необходимы программе, но py2exe не объединяется автоматически.

Многие из перечисленных в списке надежно доступны при любой установке Windows, но некоторые из них вам следует вручную связать с установкой Inno Setup. Некоторые из них необходимы только в том случае, если вы хотите развернуть их на более старых установках Windows, например. Win 2000 или более ранняя версия.

person Craig McQueen    schedule 14.07.2009

Вы можете отправить соответствующие библиотеки времени выполнения вместе с вашим приложением как «частную сборку». Это просто означает размещение копии каталога со специальным именем, содержащего библиотеки времени выполнения и их манифесты, рядом с вашим исполняемым файлом.

См. мой ответ на этот пост.

person RichieHindle    schedule 26.06.2009