py2exe странно зависает с программой wxPython с использованием IEHtmlWindow - PullRequest
0 голосов
/ 21 октября 2011

У меня есть программа на Python 2.7.2 с wxPython 2.8.12 и с зависимостями 0.6.2 на компьютере с Win XP SP3.Я использую py2exe для создания дистрибутивов Windows со следующей настройкой:

setup(
    options = {
        "py2exe": {
                   "packages": ['wx.lib.pubsub']
                  }
    },
   windows = [
       {
           "script" : "entry.py",
       }
   ],
   data_files=[("bitmaps", ["../resources/icons/app_big.png",
                            "../resources/icons/app_medium.png",
                            "../resources/icons/app_small.png",
                            "../resources/icons/app_small_new.png",
                            "../resources/icons/app_small_bad.png",
                            "../resources/icons/cross_hover.png",
                            "../resources/icons/cross.png",
                            "../resources/icons/delete.png",
                            "../resources/icons/refresh.png",])]
)

Я также использую элемент управления IEHtmlWindow.

То, что происходит, заключается в том, что всякий раз, когда я запускаю команду на консоли Pythonpy2exe работает в течение секунды со следующим выводом:

работает py2exe * в поисках необходимых модулей *

и затем кажется, что зависает бесконечно, пока я не нажму Ctr + z.

Я отследил проблему до импорта:

из wx.lib.iewin import IEHtmlWindow

, который, кажется, вызывает проблему.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Решено, проблема заключалась в том, что comtypes генерировали очень большой файл модуля, который занимал слишком много времени для анализа с помощью py2exe:

comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0

исправление py - обходИсходный код (вер. 0.6.9), как указал Эрез Биби в своем посте:

http://groups.google.com/group/wxPython-users/browse_thread/thread/52deb8a0bc1cdc5e

и теперь с установочным файлом

options={
             "py2exe": {
                        'packages': ['wx.lib.pubsub'],
                        'includes': ['comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0'],
                        'skip_scan': ['comtypes.gen._3050F1C5_98B5_11CF_BB82_00AA00BDCE0B_0_4_0']
                        }
             },

все кажетсяснова отлично работать.

0 голосов
/ 21 октября 2011

На самом деле существует две версии IEHtmlWindow. Вы можете попробовать импортировать другой:

from wx.lib.iewin_old import IEHtmlWindow

И посмотри, работает ли это. Если это так, круто. Если нет, то вам, вероятно, следует перейти к перекрестной публикации в списке рассылки py2exe и / или в списке рассылки wxPython.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...