pubsub利用時のPyInstallerのエラー
お世話になります。
Python3.7、Windows10 64ビット環境です。
PyInstallerでpubsubを利用したプログラムを実行ファイルに変換しようとしているのですが、下記のエラーが出てしまいます。
何か解決方法はありますでしょうか。
ソースコード
import wx
from datetime import datetime
from pubsub import pub
from time import sleep
from threading import Thread
class mainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, size = wx.Size(800, 400))
self.SetTitle("時計")
mainScreen(self)
class mainScreen(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.parent = parent
self.clock_label = wx.StaticText(self, -1, "時刻")
self.clock_text = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY)
vSizer = wx.BoxSizer(wx.VERTICAL)
vSizer.Add(self.clock_label, 0)
vSizer.Add(self.clock_text, 0)
self.SetSizer(vSizer)
self.clock_text.SetFocus()
pub.subscribe(self.update_clock, "time_changed")
self.clock_thread = Thread(target=self.clock_start)
self.clock_thread.setDaemon(True)
self.clock_thread.start()
def clock_start(self):
while True:
now = datetime.now()
wx.CallAfter(pub.sendMessage, "time_changed", msg="%s:%s:%s" % (now.hour, now.minute, now.second))
sleep(0.1)
def update_clock(self, msg):
self.clock_text.SetValue(msg)
app = wx.App(redirect=False)
MyApp = mainFrame()
MyApp.Show(True)
app.MainLoop()
実行したコマンド
pyinstaller --clean --noconsole clock.py
エラー内容
57 INFO: PyInstaller: 3.4
57 INFO: Python: 3.7.3
58 INFO: Platform: Windows-10-10.0.17763-SP0
(中略)
5507 INFO: Loading module hook "hook-pubsub.core.py"...
Traceback (most recent call last):
File "<string>", line 41, in <module>
File "<string>", line 36, in walk_packages
File "<string>", line 20, in walk_packages
File "C:\Python37\lib\site-packages\pubsub\core\arg1\__init__.py", line 16, in <module>
raise RuntimeError(msg)
RuntimeError: Should not import this directly, used by pubsub.core if applicable
以上、よろしくお願いいたします。