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 。
附:使用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
}
}
)
|
相关阅读:使用PyInstalle把Python脚本打包成exe
*** walker ***
本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1249279如需转载请自行联系原作者
RQSLT