【问题标题】:Compiling pubsub with py2exe使用 py2exe 编译 pubsub
【发布时间】:2014-09-04 15:54:43
【问题描述】:

我使用 wx.lib.pubsub(Windows,Python 2.6)

使用解释器运行我的应用时,pubsub 的版本是 1

当我编译并运行我的应用程序时,pubsub 的版本是 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")

【问题讨论】:

    标签: python wxpython publish-subscribe pypubsub


    【解决方案1】:

    您使用的是 3 年前的 wxPython 版本。不再支持 2.8.12 包含的 pubsub。使用“pip install pypubsub”安装最新的pubsub,将“from wx.lib.pubsub import pub”替换为“from pubsub import pub”。 documentation about migrating from v1 to v3 可能会有用。然后它应该工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2015-05-04
      • 1970-01-01
      • 2013-10-24
      • 2018-04-26
      • 1970-01-01
      • 2017-12-29
      相关资源
      最近更新 更多