python

超轻量级php框架startmvc

Python打包可执行文件的方法详解

更新时间:2020-04-24 06:00:02 作者:startmvc
本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下:Python程序

本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下:

Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和py2exe。其中py2exe应用在windows下,而PyInstall则可应用windows、Linux以及Mac OS X上。

这里只贴一段py2exe打包的实例代码。(py2exe下载地址 )


#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
#要包含的其它库文件
options = {"py2exe":
 {
 "compressed": 1, #压缩
 "optimize": 2,
 "ascii": 1,
 "includes": includes,
 "bundle_files": 1 #所有文件打包成一个exe文件
 }
}
setup (
 options = options,
 zipfile=None, #不生成library.zip文件
 console=[{"script": "main.py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
)

假如上面的源码保存为mysetup.py,则打包命令为: python mysetup.py py2exe 。

PS:使用Enigma Virtual Box同样可以让Py2exe打包出的单文件更完美。Enigma Virtual Box可点击此处本站下载://www.jb51.net/softs/425055.html

两个用过的实例:

(1)、后台运行


#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
#要包含的其它库文件
options = {"py2exe":
 {
 "compressed": 1, #压缩
 "optimize": 2,
 "ascii": 1,
 "includes": includes,
 "bundle_files": 1 #所有文件打包成一个exe文件
 }
}
setup (
 options = options,
 zipfile=None, #不生成library.zip文件
 windows=[{"script": "main.py" }]#源文件
)

(2)、不得不有控制台窗口,且不能打包为一个exe文件。(walker是因为调用了浏览器)


#coding=utf-8
from distutils.core import setup
import py2exe
setup(
 console = [{'script': "main.py"}],
 options={
 "py2exe":{
 "skip_archive": True,
 "unbuffered": True,
 "optimize": 2
 }
 }
)

PS:关于使用PyInstalle把Python脚本打包成exe文件,可参考本站文章://www.jb51.net/article/88235.htm

Python 打包 可执行文件