属性错误:';模块';对象没有属性';订阅';python
我使用的是属性错误:';模块';对象没有属性';订阅';python,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,我使用的是kubuntu13.10 64位和python2.7.5+和wxpython2.8.12.1。我试图使用wx.lib.pubsub模块从不同的类(线程类)更新wx.Gauge。我的代码中包含此类导入: try: from pubsub import pub except ImportError: from wx.lib.pubsub import pub 但是当我启动应用程序时,我得到了一个错误: pub.subscribe(self.updateProgre
kubuntu13.10 64位
和python2.7.5+
和wxpython2.8.12.1
。我试图使用wx.lib.pubsub
模块从不同的类(线程类)更新wx.Gauge
。我的代码中包含此类导入:
try:
from pubsub import pub
except ImportError:
from wx.lib.pubsub import pub
但是当我启动应用程序时,我得到了一个错误:
pub.subscribe(self.updateProgress, "update")
AttributeError: 'module' object has no attribute 'subscribe'
出了什么问题以及如何修复?wxpython2.8.12包含较旧版本的pubsub 在您的代码中,不清楚您在哪个版本上出错,换句话说,哪个导入有效?我猜它是wx.lib中的一个,2.8.12版本将是pubsub的旧版本 我建议使用wxPython的更新版本,例如3.0.2,或者使用独立的pypubsub,但是如果你想坚持使用2.8,那么文档会告诉你需要做什么。
'subscribe'
似乎不是pub
模块中的函数。看看dir(pub)
,看看里面是否有'subscribe'
。一种简单的方法是在导入后立即将其添加到代码中:print dir(pub)
和print'subscribe(pub)