Logo
Section 1 / 3

创建安装程序简介

使用 GUI2Exe 打包可执行文件并用 Inno Setup 创建安装程序

导入

创建安装程序简介

使用 GUI2Exe 打包可执行文件并用 Inno Setup 创建安装程序

在本章中,我们将带你完成创建可执行文件并将其打包为安装程序的全过程。我们将使用一个非常实用的小型图形界面工具 GUI2Exe,该工具由 Andrea Gavana 编写,基于 wxPython 开发,因此你需要先安装 wxPython 才能使用它。GUI2Exe 支持 py2exe、bbfreeze、cx_Freeze、PyInstaller 和 py2app。当生成了 dist 文件夹后,我们将使用 Inno Setup 来创建我们的安装程序。

我们再次使用以下代码:

1# sampleApp.py 2 3import wx 4 5class DemoPanel(wx.Panel): 6 """""" 7 8 def __init__(self, parent): 9 """构造函数""" 10 wx.Panel.__init__(self, parent) 11 12 labels = ["Name", "Address", "City", "State", "Zip", 13 "Phone", "Email", "Notes"] 14 15 mainSizer = wx.BoxSizer(wx.VERTICAL) 16 lbl = wx.StaticText(self, label="请在此处输入您的信息:") 17 lbl.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD)) 18 mainSizer.Add(lbl, 0, wx.ALL, 5) 19 for lbl in labels: 20 sizer = self.buildControls(lbl) 21 mainSizer.Add(sizer, 1, wx.EXPAND) 22 self.SetSizer(mainSizer) 23 mainSizer.Layout() 24 25 def buildControls(self, label): 26 """ 27 组合控件 28 """ 29 sizer = wx.BoxSizer(wx.HORIZONTAL) 30 size = (80, 40) 31 font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD) 32 33 lbl = wx.StaticText(self, label=label, size=size) 34 lbl.SetFont(font) 35 sizer.Add(lbl, 0, wx.ALL | wx.CENTER, 5) 36 if label != "Notes": 37 txt = wx.TextCtrl(self, name=label) 38 else: 39 txt = wx.TextCtrl(self, style=wx.TE_MULTILINE, name=label) 40 sizer.Add(txt, 1, wx.ALL, 5) 41 return sizer 42 43class DemoFrame(wx.Frame): 44 """ 45 包含所有其他控件的窗口框架 46 """ 47 48 def __init__(self): 49 """构造函数""" 50 wx.Frame.__init__(self, None, wx.ID_ANY, 51 "Py2Exe 教程", 52 size=(600, 400) 53 ) 54 panel = DemoPanel(self) 55 self.Show() 56 57if __name__ == "__main__": 58 app = wx.App(False) 59 frame = DemoFrame() 60 app.MainLoop()

现在开始吧!

PyInstaller

开始使用 GUI2Exe