Я использую WxPython с PyInstaller.После упаковки проекта wxMenu не активируется, но неупакованный проект работает нормально ...
menuBar = wx.MenuBar()
menu = wx.Menu()
settingsMenuItem = menu.Append(wx.NewId(), "Settings",
"Change application settings")
exitMenuItem = menu.Append(wx.NewId(), "Exit",
"Exit")
menuBar.Append(menu, "&Menu")
self.frame.Bind(wx.EVT_MENU, self.onSettings, settingsMenuItem)
self.frame.Bind(wx.EVT_MENU, self.onExit, exitMenuItem)
self.frame.SetMenuBar(menuBar)
Команда PyInstaller:
pyinstaller --clean -y main.py -d --exclude-module tkinter --windowed <several --add-data>
Команда pyInstaller содержит --windowed
опция, потому что это единственный способ работы wxpython ... Я упаковываю проект в одну папку (я не могу / не хочу использовать один файл).--Exclude-module был вставлен, чтобы исправить ошибку с tkinter (которая не используется в моем приложении - исправление, предложенное сопровождающими pyInstaller).
Это происходит только на macos ...
pyInstaller 3.3.1
MacOS High Sierra 10.13.5
Python 3.6
WxPython 4.0.1
Есть подсказки?У меня есть открытая проблема в репозитории pyInstaller, но я не получил ответа, и, возможно, это не ошибка, но я что-то делаю не так ...