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

StackOverflow https://stackoverflow.com/questions/1048651

Вопрос

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

Версии:

Python 2.6.2c1, Py2exe 0.6.9, Windows XP Pro

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

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

Видеть мой ответ на этот пост.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top