需要使用到的文件wxapp.py, read_file.py, setup.py
复制代码 代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#file: wxapp.py
import wx
import os
import sys
import read_file
class Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title=\’Hello from cx_Freeze\’)
panel = wx.Panel(self)
closeMeButton = wx.Button(panel, -1, \’Close Me\’)
wx.EVT_BUTTON(self, closeMeButton.GetId(), self.OnCloseMe)
wx.EVT_CLOSE(self, self.OnCloseWindow)
pushMeButton = wx.Button(panel, -1, \’Push Me\’)
wx.EVT_BUTTON(self, pushMeButton.GetId(), self.OnPushMe)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(closeMeButton, flag=wx.ALL, border=20)
sizer.Add(pushMeButton, flag=wx.ALL, border=20)
panel.SetSizer(sizer)
topSizer = wx.BoxSizer(wx.VERTICAL)
topSizer.Add(panel, flag=wx.ALL | wx.EXPAND)
topSizer.Fit(self)
def OnCloseMe(self, event):
obj = read_file.PrintContent()
if getattr(sys, \’frozen\’, None):
path = os.path.dirname(sys.executable)
else:
path = os.path.dirname(__file__)
path = os.path.join(path, \”read_file.py\”)
obj.show_content(path)
def OnPushMe(self, event):
wx.MessageBox(\’I was pushed!\’, \’Informational message\’)
def OnCloseWindow(self, event):
self.Destroy()
class App(wx.App):
def OnInit(self):
frame = Frame()
frame.Show(True)
self.SetTopWindow(frame)
return True
app = App(1)
app.MainLoop()
复制代码 代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#file: read_file.py
class PrintContent(object):
def show_content(self, path):
f = open(path)
for line in f:
print line
f.close()
复制代码 代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#file: setup.py
# A simple setup script to create an executable running wxPython. This also
# demonstrates the method for creating a Windows executable that does not have
# an associated console.
#
# wxapp.py is a very simple \’Hello, world\’ type wxPython application
#
# Run the build process by running the command \’python setup.py build\’
#
# If everything works well you should find a subdirectory in the build
# subdirectory that contains the files needed to run the application
import sys
from cx_Freeze import setup, Executable
build_exe_options = {\”optimize\”: 2,
\”include_files\”: [\”read_file.py\”]}
base = None
if sys.platform == \’win32\’:
base = \’Win32GUI\’
executables = [Executable(script=\’wxapp.py\’,
base=base,
targetName=\”Demo.exe\”,
compress=True,
icon=\”py.ico\”)]
setup(name=\’wxapp\’,
version=\’0.1\’,
description=\’Sample cx_Freeze wxPython script\’,
options = {\”build_exe\”: build_exe_options},
executables=executables)
打开cmd进入代码所在目录,然后输入:
复制代码 代码如下:
python setup.py bdist_msi
然后会生成build和dist两个文件夹,build文件夹里存放的是exe可执行文件和所依赖的库,直接把整个文件夹复制给别人就可以通过双击exe文件运行了,dist文件夹下是build文件夹的安装程序,直接传dist文件夹下的安装包给朋友,朋友运行安装包后会得到和build一样的文件夹,路径由用户自己选择
至于setup.py里面的参数选项可以自己去官网查看相应的选项信息
下一篇:Python的函数嵌套的使用方法