Когда я упаковываю минимальную программу Python 2.7.1 / wxPython (Hello World) с py2exe
с самой базовой конфигурацией и запускаю ее на чистой виртуальной машине Windows 7 x32 с сохранением установленного распространяемого пакета Microsoft Visual C ++ 2008 (x86), я получаю бесполезная ошибка:
Z:\>z:\wxhello\wxhello.exe
Traceback (most recent call last):
File "wxhello.py", line 1, in <module>
File "wx\__init__.pyc", line 45, in <module>
File "wx\_core.pyc", line 4, in <module>
File "wx\_core_.pyc", line 12, in <module>
File "wx\_core_.pyc", line 10, in __load
ImportError: DLL load failed: The system cannot find the file specified.
Все библиотеки DLL, перечисленные в конце запуска py2exe, существуют на целевой виртуальной машине, за исключением gdiplus.dll
, некоторой библиотеки wxPython, которую я вручную скопировал в путь dist.
Текст и Tkinter
Hello World работают нормально.
Что случилось? Могу ли я получить дополнительную полезную информацию по отладке?
Тот же процесс с использованием cx_Freeze
дает немного другую ошибку:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
File "wxhello.py", line 1, in <module>
File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\__init__.py", line 45, in <module>
File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 4, in <module>
File "ExtensionLoader_wx__core_.py", line 12, in <module>
ImportError: DLL load failed: The system cannot find the file specified.
Обновлять:
Ошибка запуска созданной cx_Freeze
программы была решена путем ее запуска с локального диска (на виртуальной машине), а не с общего сетевого ресурса. Я не проверял, исправляет ли это "двоичный" py2exe
.