2014-09-04 7 views
0

Я использую wx.lib.pubsub (Windows, Python 2.6)Компиляция PubSub с py2exe

При запуске моего приложения с переводчиком, версия PubSub является 1

Когда я скомпилировать и запустить мое приложение, то версия pubsub is 3

Почему? Как я могу заставить скомпилированную версию запускать pubsub api v1?

from distutils.core import setup 
import py2exe 
from distutils.core import Distribution 

setup(
     console=[ 
      dict(
       script='test.py' 
       ) 
     ], 
     options={ 
       'py2exe': { 
        'packages' : [ 
           'wx.lib.pubsub' 
           ], 
        'includes': [], 
        "excludes" : [], 
        "dll_excludes": [ 'tcl85.dll', 'tk85.dll', 'mswsock.dll', 'powrprof.dll'] 
        } 
       }, 
     ) 


from wx.lib.pubsub import pub 

publisher = pub.Publisher() 
print pub.PUBSUB_VERSION 

EVENT_NAME = "test_pubsub" 

def listener(data): 
    print data 

publisher.subscribe(listener, EVENT_NAME) 
publisher.sendMessage(EVENT_NAME, data="toto") 
+0

wxpython v 2.8.12.1 – user2920520

ответ

0

Вы используете 3-летнюю версию wxPython. Пабсуб, который включает 2.8.12, больше не поддерживается. Используйте «pip install pypubsub» для установки последнего pubsub и замените «из wx.lib.pubsub import pub» на «из pub pub pub». Вероятно, полезно будет использовать documentation about migrating from v1 to v3. Тогда это должно сработать.