python做exe开发教程,Python使用wxPython、py2exe编写桌面程序

Python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序。使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局。在完成编写之后,由于直接的py文件不能再没有安装python的电脑上运行,能否有一个打包成在任意电脑都能运行的工具,网上找找发现了py2exe正好可以完成这个功能。wxPython和py2exe都是开源免费软件。

wxPython: 下载后双击安装即可,安装程序会自动安装到对应python\Scripts下。

py2exe:同样双击即可安装,注意下载要对应使用的Python版本。

下面分别示例说明wxPython和py2exe的简单使用。

文件名:wxTest.py:# -*- coding: cp936 -*-

'''MainWindow类完成最简单的编辑功能,添加一个主菜单,两个子菜单(about和exit)'''

import wx

class MainWindow(wx.Frame):

'''定义一个窗口类'''

def __init__(self, parent, title):

wx.Frame.__init__(self, parent, title=title, size=(300, 300))

self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)

self.setupMenuBar()

self.Show(True)

def setupMenuBar(self):

self.CreateStatusBar()

menubar = wx.MenuBar()

menufile = wx.Menu()

mnuabout = menufile.Append(wx.ID_ABOUT, '&About', 'about this shit')

mnuexit = menufile.Append(wx.ID_EXIT, 'E&xit', 'end program')

menubar.Append(menufile, '&File')

#事件绑定

self.Bind(wx.EVT_MENU, self.onAbout, mnuabout)

self.Bind(wx.EVT_MENU, self.onExit, mnuexit)

self.SetMenuBar(menubar)

def onAbout(self, evt):

'''点击about的事件响应'''

dlg = wx.MessageDialog(self, 'This app is a simple text editor', 'About my app', wx.OK)

dlg.ShowModal()

dlg.Destroy()

def onExit(self, evt):

'''点击退出'''

self.Close(True)

app = wx.App(False)

frame = MainWindow(None, 'Small Editor')

app.MainLoop() #循环监听事件

编辑好改文件后,使用py2exe将Python脚本编译成Windows可执行文件,这样就不需要Python解释器了。要使用py2exe,首先要编写一个编译脚本,然后通过Python运行编译脚本即可将其他的脚本编译成可执行文件。以下实例是将要编译成可执行文件的脚本,文件名:setup.pyimport distutils

import py2exe

distutils.core.setup(windows=['wxTest.py'])

在setup.py中除了导入必需的模块以外,只有一条语句:distutils.core.setup(windows=['wxTest.py'])

方括号中就是要编译的脚本名,前边的windows 表示将其编译成GUI程序。如果要编译命令行界面的可执行文件,只要将windows改为console,如果需要将脚本编译成Windows服务,则可以使用service选项。

都编辑好之后,将wxTest.py和setup.py放在同一个路径下,cmd进入该路径,输入:setup.py py2exe

如果在运行时报以下错误:

error: MSVCP90.dll: No such file or directory

是因为没有找到MSVCP90.dll,在windows目录下搜索MSVCP90.dll这个文件,然后拷到python安装目录的DLLs下就可以了。

当打包PyQt项目时,可能会报以下错误

ImportError: No module named sip

这时只需要在打包时加上--includes sip就行啦,如:setup.py py2exe --includes sip

运行结束之后,会在路径下生成dist和 build两个目录。其中dist目录中就是编译生成的文件。如果要在其他未安装Python的机器上运行编译好的程序,只要将dist目录复制到其他机器上即可。双击运行wxTest.exe,如图:

c77f246a620c4328b108e3a69e0ed77d.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值