Windows Server не может выполнить приложение, созданное py2exe - PullRequest
5 голосов
/ 25 декабря 2009

Простой скрипт Python должен выполняться на сервере Windows без установленного Python.

Я использовал py2exe, который генерировал исправный подкаталог dist, с script.exe, который отлично работает на локальном компьютере.
Однако, когда я запускаю его на сервере (Windows Server 2003 R2), он выдает следующее:
Система не может выполнить указанную программу.

и ОШИБКА - 9020.

Есть идеи?

Ответы [ 4 ]

6 голосов
/ 09 июля 2010

Чтобы py2exe работал, вы должны включить в приложение правильную версию библиотеки времени выполнения Microsoft C.

Для Python2.6 это MSVCR90.dll версии 9.0.21022.8, которую можно получить из распространяемого пакета Microsoft Visual C ++ 2008:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

Обратите внимание, что SP1 этого установщика содержит другую версию DLL и не будет работать.

Ранее в этом году я провел некоторое время, объясняя это внимательно в уроке по py2exe, так что я просто сделаю ссылку на это: http://www.py2exe.org/index.cgi/Tutorial#Step5

2 голосов
/ 25 декабря 2009

Возможно, отсутствуют некоторые необходимые библиотеки DLL. Попробуйте использовать disabled.exe , чтобы определить, что может отсутствовать Это, вероятно, msvc-что-то.dll

1 голос
/ 21 апреля 2010

Поскольку Python 2.6 построен на основе Visual Studio 2008, на целевом компьютере также должны быть установлены библиотеки Visual Studio 2008, доступные из распространяемого пакета Visual C ++ 2008 .

Я подтвердил, что в чистой сборке Windows XP или Server 2003 (ни на одной из которых нет распространяемой Visual Studio 2008) исполняемый файл Python 2.6 py2exe завершится с ошибкой, упомянутой выше, но после установки распространяемого пакета исполняемый файл запускается обычно.

1 голос
/ 26 декабря 2009

Я не нашел причину проблемы, но использование python 2.5 с py2exe на том же скрипте отлично работало на сервере.

Я думаю, что-то не так с py2exe в версии 2.6.

...