本文实例讲述了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程序设计有所帮助。