使用PyInstaller把你的Python程序转为Exe

2012年7月1日 | 分类: 乱七八糟 | 标签: , , ,

把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

  1. 本初秋子
    2012年7月2日13:54

    能变成linux可执行文件或者c源码就好

    • iGFW
      2012年7月2日18:06

      linxu系统一般都安装python了,直接就能运行.py文件了。

  2. 棒棒糖王子
    2012年7月2日10:07

    改了系统变量还是不能用,执行python Configure.py命令这一步就卡住了
    提示“’python’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”
    我明明已经改好系统变量了的

    如果强行绝对路径调研那个configure,就提示“can’t find ‘__main__’ module in ‘c:\\pyexe\\pyinstaller-1.5.1’”

    哎,还不如用py2exe