最近在研究利用python制作windows下的應用程序,遇到的各種坑,總結一下。
步驟:
1、要利用python制作exe應用程序,先利用wxpython制作windows底下的gui界面窗口。
a、安裝wxpython,cmd命令行模式底下進行安裝,本機安裝的是python3.6.4,所以可以使用
pip install wxpython
進行安裝,(可以使用pip list)查看是否已經安裝了wxpython
b、進行代碼編寫。
import wx ########################################################################### ## Class hello ########################################################################### class hello( wx.Frame ): def __init__( self,*args, **kw): wx.Frame.__init__ ( self,*args, **kw) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer3 = wx.BoxSizer( wx.VERTICAL ) self.m_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_textCtrl1, 0, wx.ALL, 5 ) self.m_button1 = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_button1, 0, wx.ALL, 5 ) self.SetSizer( bSizer3 ) self.Layout() self.Centre( wx.BOTH ) self.Bind(wx.EVT_BUTTON,self.OnClick,self.m_button1)
def OnClick( self,event): wx.MessageBox(self.m_textCtrl1.GetValue()) app=wx.App() frm=hello(None,) frm.Show() app.MainLoop()
2、代碼編寫好了就可以利用installer這個庫來生成exe應用程序,碰上坑之一就是網上查看資料去研究py2exe,結果這二貨居然多年未更新,不支持python3.6.4
a、安裝installer,在命令行底下運行
pip install installer
b、在命令行模式底下,切換到.py所在的目錄,運行命令
installer -F hello.py --noconsole
參數說明:-F可以只生成一個exe文件,沒加這個參數會生成一大堆的文件,
--noconsole這個參數可以使運行應用程序的時候不會出現命令行窗口,不然一運行.exe應用程序的時候就會自帶生成一個命令行窗口。