用PyInstaller将python转成可执行文件exe笔记
1、安装PyInstaller
PyInstaller的作用如标题所说,首先需要下载PyInstaller和UPX,UPX是用来压缩exe的,点击超链接下载吧,目前稳定版本是1.3,注意选择你使用的操作系统。如在Windows下,将下载解压后的upx.exe放到PyInstaller解压后的文件夹内。设PyInstaller的文件夹为D:\PyInstaller,下同。命令行下进入D:\PyInstaller,运行Configure.py,应该看到如下信息:
I: computing EXE_dependencies I: Finding TCL/TK... I: found TCL/TK version 8.5 I: testing for Zlib... I: ... Zlib available I: Testing for ability to set icons, version resources... I: ... resource update available I: Testing for Unicode support... I: ... Unicode available I: testing for UPX... I: ...UPX available I: computing PYZ dependencies...
不能出现开头为E(Error)的信息,最好不要有W(Warning)的信息。如果出现找不到某dll,请把该dll文件放置到C:\Windows\system32下,一般能解决。
Linux用户还需要编译Runtime Executables,Windows用户不需要。主要是运行Make.py,会在PyInstaller\support\load\下生成run和run_d两个文件,详见PyInstaller\doc\Manual.html说明。
2、写一个Py程序
为了实验,写一个HelloWorld.py,假设保存在C:\HelloWorld.py
#!/usr/bin/env python
print 'Hello,World!'
words = raw_input('What do you want to say? ')
print 'you said:'+words
3、创建spec文件
spec文件是用来告诉PyInstaller要编译的py文件和参数的。执行"Makespec.py+参数+Py代码路径"就可以,主要参数如下(详见PyInstaller\doc\Manual.html):
-F, --onefile Py代码只有一个文件
-D, --onedir Py代码放在一个目录中(默认是这个)
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗体exe文件(Windows Only)
-c, --nowindowed, --console 控制台exe文件(Windows Only)
-X, --upx 使用upx压缩exe文件
-o DIR, --out=DIR 设置spec文件输出的目录,默认在PyInstaller同目录
--icon=<FILE.ICO> 加入图标(Windows Only)
-v FILE, --version=FILE 加入版本信息文件
对于HelloWorld.py,具体执行以下代码:
Makespec.py --onefile --console --upx --tk -o C:\ C:\HelloWorld.py
执行后C:\就出现HelloWorld.spec
4、Build spec文件,生成exe文件
执行:
Build.py C:\HelloWorld.spec
一长串信息之后,你会在C:\下发现HelloWorld.exe这个文件,就是它啦!体积还真不小,2.7M,这是因为这个HelloWorld程序杀鸡用牛刀罢了。此外其它的文件均是过程文件,可删除。
转载请注明:来自pugWoo's Life
本文地址:http://www.pugwoo.com/2010/02/10/pyinstaller.html
14 条评论
我要留言混沌 发表于 2010-02-11 at 15:14 回复 引用
pugwoo 发表于 2010-02-11 at 15:20 回复 引用
如果没装Python的话,会提示找不到Python26.dll,我就不明白怎么弄
mayli 发表于 2010-05-14 at 13:08 回复 引用
cheap ugg boots 发表于 2011-11-29 at 11:34 回复 引用
cheap juicy couture 发表于 2011-12-12 at 19:55 回复 引用
Thanks http://www.juicycouturehandbagscheap.com/
http://www.mulberrys 发表于 2011-12-13 at 16:04 回复 引用
cheap jordan 发表于 2011-12-20 at 16:05 回复 引用
We are supplying classical styles of brand name shoes, such as Air Jordans, Nike Shox, Air Max, Nike Dunks, Air Force Ones, Gucci Shoes, Prada Shoes, Timberland Boots, Puma Shoes and so on.
Our products are popular all over the world with high quality, competitive price and efficient service.
Website: http://www.sneakersupplier.com 谢谢
cheap juicy couture 发表于 2011-12-20 at 21:52 回复 引用
We are juicy couture outlets wholesaler sell cheap juicy couture handbags and cheap juicy couture tracksuits ,free shipping,top quality,fast delivery and credit card payment accept!!!
谢谢 http://www.juicycouturehandbagscheap.com/
Cheap Falcons Jersey 发表于 2011-12-22 at 17:34 回复 引用
susan 发表于 2011-12-30 at 16:25 回复 引用
你好