本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下:
Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和py2exe。其中py2exe应用在windows下,而PyInstall则可应用windows、Linux以及Mac OS X上。
这里只贴一段py2exe打包的实例代码。(py2exe下载地址 )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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打包出的单文件更完美。
两个用过的实例:
(1)、后台运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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是因为调用了浏览器)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#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文件,可参考本站文章:http://www.zzvips.com/article/99747.html
希望本文所述对大家Python程序设计有所帮助。