CWYAlpha

Just another WordPress.com site

Thought this was cool: 使用PyInstaller把你的Python程序转为Exe

leave a comment »


把Python程序转为可执行的EXE文件,可以方便Python程序在没有安装Python的Windows系统上使用。

本文以chnroutes项目中的chnroutes.py 文件为例,详细介绍Windows XP系统上在Python 2.7环境下把它变成exe的过程,比较简单易用,建议大家一起学学。

一、下载所需软件

点击下载Python 2.7.3

点击下载PyWin32

点击下载PyInstaller

点击下载chnroutes.py

二、安装配置软件

首先安装Python 2.7.3,然后安装PyWin32。

最后在C盘新建一个名为pyexe的文件夹,将PyInstaller解压缩到pyexe文件夹下(保持pyinstaller-1.5.1文件夹形式),将chnroutes.py复制到pyexe文件夹下。

设置系统环境变量,方法是, 依次点击我的电脑->属性->高级->环境变量->系统变量 ,在系统变量里找到PATH,双击PATH,在结尾加上 ”;C:\Python27″(不要引号) ,然后重启电脑。

打开附件中的命令提示符,输入cd C:\pyexe\pyinstaller-1.5.1命令转到工作目录下,

然输入python Configure.py命令来配置PyInstaller,稍等界面出现
I: computing PYZ dependencies…
I: done generating config.dat

完成PyInstaller配置,然后关闭命令提示符。

三、把你的Python转为Exe

打开附件中的命令提示符(全过程不要关闭),

输入cd C:\pyexe\pyinstaller-1.5.1命令转到工作目录下。

然后命令提示符里继续输入makespec.py -F C:\pyexe\chnroutes.py命令,

稍等会在pyinstaller-1.5.1文件夹下生成一个chnroutes文件夹,复制此文件夹下的chnroutes.spec文件到pyexe文件夹下。

然后命令提示符里继续输入build.py C:\pyexe\chnroutes.spec 命令,

稍等一段时间会在pyexe文件夹下生成的dist文件夹下看到chnroutes.exe程序,这个就是我们用chnroutes.py转换成的exe程序程序了(其他生成的文件文件夹可无视)。

运行chnroutes.exe程序即可生成用于openvpn的路由文件了,执行chnroutes.exe -p win命令生成用户pptp/l2tp等vpn的路由文件。学会之后就可以自己打包西厢代理、balan-proxy等Python程序为Exe了。

以下是一些makespec.py的常用参数:

-F    制作独立的可执行程序
-D    制作出的档案存放在同一个文件夹下(默认值)
-K    包含TCL/TK(对于使用了TK的,最好加上这个选项,否则在未安装TK的电脑上无法运行)
-w    制作窗口程序
-c    制作命令行程序(默认)
-X    制作使用UPX压缩过的可执行程序(使用此选项需解压upx.exe到Python安装目录下)
-o DIR     指定输出SPEC文件路径(这也决定了最后输出的exe文件路径)
–icon=[ICO文件路径]    指定程序图标
-v [指定文件]    指定程序版本信息
-n [指定程序名]    指定程序名称

更详细的说明看PyInstaller官方文档吧。

本文原始地址http://igfw.net/archives/10317

from iGFW: http://igfw.net/archives/10317

Written by cwyalpha

七月 2, 2012 在 1:10 下午

发表在 Uncategorized

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: