My Python GUI app, works perfectly but when I try to create an executable I tried with pyinstaller (3.3.dev0+483c819) command:
pyinstaller gui_app.py
I get the follow issue:
7699 INFO: Loading module hook "hook-wx.lib.pubsub.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:\python27\lib\site-packages\wx-3.0-msw\wx\lib\pubsub\core\arg1\__init__.py", line 16, in <module> raise RuntimeError(msg) RuntimeError: Should not import this directly, used by pubsub.core if applicable 8006 WARNING: Hidden import "wx.lib.pubsub.core.publisher" not found! 8008 WARNING: Hidden import "wx.lib.pubsub.core.listenerimpl" not found! 8009 WARNING: Hidden import "wx.lib.pubsub.core.publishermixin" not found! 8009 WARNING: Hidden import "wx.lib.pubsub.core.datamsg" not found! 8009 WARNING: Hidden import "wx.lib.pubsub.core.topicargspecimpl" not found! 8009 WARNING: Hidden import "wx.lib.pubsub.core.topicmgrimpl" not found!
The executable is "successfully" created but when I launch it i get the follow error:
Traceback (most recent call last): File "upload_test_run_dynamic_clean.py", line 21, in <module> from wx.lib.pubsub import pub File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module exec(bytecode, module.__dict__) File "site-packages\wx-3.0-msw\wx\lib\pubsub\pub.py", line 35, in <module> File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module exec(bytecode, module.__dict__) File "site-packages\wx-3.0-msw\wx\lib\pubsub\core\__init__.py", line 45, in <module> ImportError: No module named publisher
I tried to add hookspath is the spec file (it exists a hook for wx.lib.pubsub already in pyinstaller hooks folder) but it did not work, or I did something wrong.
Is there an order to import wx and other submodules. I have this in my code
import wx import wx.lib.pubsub.setuparg1 from wx.lib.pubsub import pub import wx.lib.agw.pybusyinfo as PBI from wx.lib.scrolledpanel import ScrolledPanel