py2exe打包python_用Py2exe打包Python脚本简单介绍

一、简述

Py2exe,从这个名字上就可以理解,把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具。经过转换后,你可以不

用安装Python的执行环境就可以直接执行转换后的exe了。Py2exe本身是开源的。

二、安装

根据你本地安装的python的版本来选择要安装的Py2exe版本,一个比较好的下载地址:http://sourceforge.net/projects/py2exe/files/,如果这个地址访问不了,我在csdn上放了一个针对python2.5的Py2exe安装包,可以去下载:http://d.download.csdn.net/down/2793052/magictong。

三、使用

看一个简单的例子:先写一个简单的脚本,文件名:HelloPy2exe.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# Created By MagicTong 2010-11-01 13:01

def main():

print "Hello, Py2exe! "

if __name__ == "__main__":

main()

raw_input("Enter enter key to exit...")

然后写一个编译脚本,文件名:setup_py2exe.py

from distutils.core import setup

import py2exe

setup(console=["HelloPy2exe.py"])

最后整个批处理,文件名:buildExe.bat

python setup_py2exe.py py2exe

pause

运行这个批处理后,会在当前目录生成两个文件夹:build和dist,build里面的是一些中间文件可以不用理会了,dist里面会产生下面一些文件:bz2.pyd,HelloPy2exe.exe,library.zip,MSVCR71.dll,python25.dll,unicodedata.pyd,w9xpopen.exe,这时你可以在一台没有安装python环境的机器上运行HelloPy2exe.exe了:

四、发布

dist里面的所有文件都需要发布的,但是如果你不需要兼容win9系列,那可以不带上w9xpopen.exe,其实你直接运行下w9xpopen.exe会提示:

五、Py2exe支持的参数(通过python setup_py2exe.py py2exe --help 可以打印出来,但是这些参数我也没用过,有空再摸索摸索)

Global options:

--verbose (-v)  run verbosely (default)

--quiet (-q)    run quietly (turns verbosity off)

--dry-run (-n)  don't actually do anything

--help (-h)     show detailed help message

Options for 'py2exe' command:

--optimize (-O)       optimization level: -O1 for "python -O", -O2 for

"python -OO", and -O0 to disable [default: -O0]

--dist-dir (-d)       directory to put final built distributions in (default

is dist)

--excludes (-e)       comma-separated list of modules to exclude

--dll-excludes        comma-separated list of DLLs to exclude

--ignores             comma-separated list of modules to ignore if they are

not found

--includes (-i)       comma-separated list of modules to include

--packages (-p)       comma-separated list of packages to include

--compressed (-c)     create a compressed zipfile

--xref (-x)           create and show a module cross reference

--bundle-files (-b)   bundle dlls in the zipfile or the exe. Valid levels

are 1, 2, or 3 (default)

--skip-archive        do not place Python bytecode files in an archive, put

them directly in the file system

--ascii (-a)          do not automatically include encodings and codecs

--custom-boot-script  Python file that will be run when setting up the

runtime environment

usage: setup_py2exe.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]

or: setup_py2exe.py --help [cmd1 cmd2 ...]

or: setup_py2exe.py --help-commands

or: setup_py2exe.py cmd --help

六、高级,其实也不高级

看那个编译脚本中的这句:setup(console=["HelloPy2exe.py"]),setup还支持很多参数,windows(一个windows界面程序),data_filse(打包其他的文件)……以后再说说。

看一个例子先:

# -*- coding: cp936 -*-

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,

console=[{"script": "HelloPy2exe.py", "icon_resources": [(1, "pc.ico")]}],

windows=[{"script": "HelloWin.py", "icon_resources": [(1, "pc.ico")]}],

data_files=[("magic",["App_x86.exe",]),],

version = "2010.11.01.01",

description = "this is a py2exe test",

name = "HelloGuys.",

)

options可以用来指定一些编译的参数,譬如是否压缩,是否打包为一个文件,data_files是一个打包时的拷贝文件列表,格式如下:data_files=[("目的文件夹",["文件名",]), ("目的文件夹",["文件名",]), ("目的文件夹",["文件名",]),],至于version,description,name等等,你们懂的,icon_resources是指定一个ico图标作为程序的图标。从这里也可以看出windows,console等参数是可以指定一个list来设置参数的。可以去Python安装目录/Lib/site-packages/py2exe/samples下看一些例子,这玩意还可以打包服务程序,com服务器程序等等。

[end]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值