Проблема с развертыванием программы Python (в комплекте с py2exe) - PullRequest
1 голос
/ 26 июня 2009

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

Версия:

Python 2.6.2c1, py2exe 0.6.9, Windows XP Pro

Ответы [ 4 ]

3 голосов
/ 26 июня 2009

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

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

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

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

1 голос
/ 14 июля 2009

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

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

1 голос
/ 26 июня 2009

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

0 голосов
/ 26 июня 2009

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

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

...