Python编程语言是一种功能强大的自由开源通用计算机程序应用语言。是程序开发中的重要选择。今天就来看看python打包方式的相关应用吧。一、介绍py2exe是一个将Python脚本转换成windows上可以独立执行的可执行程序(*.exe)的工具,这样你就可以在windows系统上运行这个可执行程序而无需安装Python。py2exe已用于创建wxPython、Tkinter、Pmw、PyGTK、pygame、win32com客户端和服务器以及其他独立程序。py2exe是在开源许可下发布的。Python打包方法的第2步,安装py2exe从官网下载并运行你安装的Python对应的py2exe版本的安装程序,会安装py2exe和对应的例子;这些示例安装在lib\site-packages\py2exe\samples目录下。Python打包方法step3、py2exe的用法如果你有一个名为myscript.py的Python脚本,你想把它转换成一个运行在windows上的可执行程序,并在没有安装Python的windows系统上运行,那么首先你应该这样写用于发布程序的setup脚本,如mysetup.py,在setup函数前插入importpy2exe语句。mysetup.py的例子如下:1.#mysetup.py2.fromdistutils.coreimportsetup3.importpy2exe5.setup(console=\["myscript.py"\])然后运行mysetup.pyas如下:Pythonmysetup.pypy2exe执行上述命令后,会生成一个名为dist的子目录,其中包含文件myscript.exe、Python24.dll、library.zip。如果您在myscript.py脚本中使用已编译的C扩展模块,那么这些模块也将被复制到该子目录中。同样,所有的dll文件在运行时都是需要的,除了系统dll文件。dist子目录中的文件包含程序所需的所有内容,您应该分发该子目录中的所有内容。默认情况下,py2exe在目录dist中创建以下必要文件:1.一个或多个exe文件。2.Python##.dll。3、几个.pyd文件,是编译后的扩展名,exe文件需要的;加上.pyd所需的其他.dll文件。4.一个library.zip文件,里面包含编译好的.pyc或.pyo等纯Python模块上面的mysetup.py创建了一个consolemyscript.exe程序,如果要创建图形用户界面程序,那么只需要将mysetup.py中的console=["myscript.py"]替换为windows=["myscript.py"],py2exe都可以同时创建多个exe文件,需要列出这些脚本文件传递给console或windows的关键字参数.如果您有多个关联的脚本,这将很有用。运行以下命令将显示py2exe命令的所有命令行标志。Pythonmysetup.pypy2exe--helpPython打包方法第四步:指定附加文件有些应用程序在运行时需要附加文件,例如配置文件、字体和位图。如果在安装脚本中使用data\_files选项指定了这些额外文件,则py2exe可以将这些文件复制到dist子目录中。data\_files应该包含元组列表(target-dir,files)其中files是这些附加文件的列表。示例如下:1.#mysetup.py2.fromdistutils.coreimportsetup3.importglob4.importpy2exe6.setup(console=\["myscript.py"\],9.data\_files=\[("位图",11.\["bm/large.gif","bm/small.gif"\]),12.("字体",13.glob.glob("字体\\\\\*.fnt"))\],14.)解释:data\_files选项会创建一个子目录dist\bitmaps,其中包含两个.gif文件;子目录dist\fonts,其中包含所有.fnt文件。Python打包方法的第5步,WindowsNT服务你可以通过向setup函数传递一个service关键字参数来构建WindowsNT服务。服务参数的值必须是Python模块名称列表(包括服务类)。示例如下:1.#mysetup.py2.fromdistutils.coreimportsetup3.importpy2exe5.setup(service=\["MyService"\])构建的可执行服务后面可以跟某个Command-line用于自行安装和卸载的参数标志。您可以通过使用-help参数跟踪可执行服务(exe)来获得更多帮助。Python打包方法的第6步,COM服务器您可以通过将com\_server关键字参数传递给设置函数来构建WindowsNT服务。服务参数的值必须是一个Python模块名称(包含一个或多个COM服务器类)。列表。示例如下:1.#mysetup.py2.fromdistutils.coreimportsetup3.importpy2exe5.setup(com\_server=\["win32com.server.interp"\])默认情况下,DLL和EXE服务器正在构建,如果不需要它们,您可以简单地删除它们。我自己的例子如下:1.fromdistutils.coreimportsetup3.importpy2exe7.includes=\["encodings","encodings.\*"\]8.#其他要包含的库文件10.options={"py2exe":12.{"compressed":1,#compress13."optimize":2,14."ascii":1,15."includes":includes,16."bundle\_files":1#所有文件打包成exe文件17.}18.}19.setup(20.version="0.1.0",21.description="searchfile",22.name="searchfile",23.options=options,24.zipfile=None,#不生成library.zip文件25.windows=\[{"script":"MessageBox.py","icon\_resources":\[(1,"player.ico")\]}\]#源文件,程序图标26.)MessageBox.py如下:1.importwin32api2.importwin32con3.win32api.MessageBox(0,'I'msucre,'Python',win32con.MB\_OK)进入cmd,进入程序所在目录,输入以下代码:1.pythonsetup.pypy2exe还有一个问题,输出内容为中文时,会出现乱码
