使用PyInstaller将python转成可执行文件exe笔记
1、安装PyInstaller
PyInstaller的作用如标题所说,首先需要下载PyInstaller和UPX,UPX是用来压缩exe的,点击超链接下载吧,目前稳定版本是1.3,注意选择你使用的操作系统。如在Windows下,将下载解压后的upx.exe放到PyInstaller解压后的文件夹内。设PyInstaller的文件夹为D:\PyInstaller,下同。命令行下进入D:\PyInstaller,运行Configure.py,应该看到如下信息:
I:computingEXE_dependencies
I:FindingTCL/TK...
I:foundTCL/TKversion8.5
I:testingforZlib...
I:...Zlibavailable
I:Testingforabilitytoseticons,versionresources...
I:...resourceupdateavailable
I:TestingforUnicodesupport...
I:...Unicodeavailable
I:testingforUPX...
I:...UPXavailable
I:computingPYZdependencies...
不能出现开头为E(Error)的信息,最好不要有W(Warning)的信息。如果出现找不到某dll,请把该dll文件放置到C:\Windows\system32下,一般能解决。
Linux用户还需要编译RuntimeExecutables,Windows用户不需要。主要是运行Make.py,会在PyInstaller\support\load\下生成run和run_d两个文件,详见PyInstaller\doc\Manual.html说明。
2、写一个Py程序
为了实验,写一个HelloWorld.py,假设保存在C:\HelloWorld.py
#!/usr/bin/envpython print'Hello,World!' words=raw_input('Whatdoyouwanttosay?') print'yousaid:'+words
3、创建spec文件
spec文件是用来告诉PyInstaller要编译的py文件和参数的。执行"Makespec.py+参数+Py代码路径"就可以,主要参数如下(详见PyInstaller\doc\Manual.html):
-F,--onefilePy代码只有一个文件
-D,--onedirPy代码放在一个目录中(默认是这个)
-K,--tk包含TCL/TK
-d,--debug生成debug模式的exe文件
-w,--windowed,--noconsole窗体exe文件(WindowsOnly)
-c,--nowindowed,--console控制台exe文件(WindowsOnly)
-X,--upx使用upx压缩exe文件
-oDIR,--out=DIR设置spec文件输出的目录,默认在PyInstaller同目录
--icon=
-vFILE,--version=FILE加入版本信息文件
对于HelloWorld.py,具体执行以下代码:
Makespec.py--onefile--console--upx--tk-oC:\C:\HelloWorld.py
执行后C:\就出现HelloWorld.spec
4、Buildspec文件,生成exe文件
执行:
Build.pyC:\HelloWorld.spec
一长串信息之后,你会在C:\下发现HelloWorld.exe这个文件,就是它啦!体积还真不小,2.7M,这是因为这个HelloWorld程序杀鸡用牛刀罢了。此外其它的文件均是过程文件,可删除。