2009-06-26 3 views
1

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

Версии:

Python 2.6.2c1, py2exe 0.6.9, Windows XP Pro

ответ

3

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

Инструкции для этого can be found here.

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

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

0

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

См. my answer to this post.

1

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

1

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

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

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