将Python脚本封装成exe可执行文件

http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html 

  cx_freeze是用来将 Python 脚本封装成可执行程序的工具,支持最新的Python3.2版本。生成的执行文件具有跨平台性,而且运行的系统无须安装Python。目前类似功能的工具还有py2exe 和 PyInstaller,其中貌似py2exe知名度最高了,但是很久没有更新了,至于打包质量不做评价,毕竟萝卜青菜各有所爱;PyInstaller不太了解,据说工序很复杂;至于cx_freeze的强大功能及易用性,本人强烈推荐。

详细安装步骤如下:

  1. 安装cx_freeze(官方下载地址:http://cx-freeze.sourceforge.net

  2. 检查cx_freeze安装是否成功(Windows OS)

  

  3. 准备一个简单的hello.py小程序

hello.py

  4. 把Python的脚本封装成可执行文件(两种方法)

  •   使用参数:

  CMD> cxfreeze hello.py --target-dir dist

  • 使用配置文件(个人推荐=>一次编写,到处可用☺):

  CMD> python setup.py build

  setup.py配置程序:

 1 #
2 # 文 件 名:setup.py
3 # 功能描述:cx_freeze封装Python脚本的配置文件
4 #
5 # 作者:Renzo 日期:2012/01/01
6 #
7 # 版权:可以使用、传播,但请保留出处;如需修改,请告知作者。
8 #
9
10 from cx_Freeze import setup, Executable
11
12
13 # 首先处理path,includes,excludes,packages等内部变量
14 base = "Win32GUI"
15 path = []
16 includes = []
17 excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
18 'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl', 'Tkconstants',
19 'Tkinter']
20 packages = []
21
22
23 # 这里可以编写客户化的封装前处理代码。例如:数据文件的处理
24
25
26
27 # 配置封装的参数
28 GUI2Exe_Target_Main = Executable(
29 path = path,
30 base = base,
31
32 # 生成可执行文件的主文件
33 script = "simple.py",
34
35 # 生成可执行文件及一些依赖文件的目录
36 targetDir = r"dist",
37 # 可执行文件的名称
38 targetName = "simple.exe",
39 # 可执行文件的ico图标
40 icon = "simple.ico",
41
42 includes = includes,
43 excludes = excludes,
44 packages = packages,
45
46 # 是否需要压缩模块的字节码
47 compress = True,
48
49 # 是否拷贝依赖文件到目标目录
50 copyDependentFiles = True,
51
52 # 是否附加脚本模块到执行文件
53 appendScriptToExe = True,
54 # 是否添加脚本模块到共享库
55 appendScriptToLibrary = False,
56
57 # 设置快捷方式的路径及名称
58 shortcutDir = "",
59 shortcutName = ""
60 )
61
62
63 # 设置安装时软件包的描述信息
64 setup(
65 name = "Simple",
66 version = "0.1",
67 description = "My first python program",
68
69 author = "Renzo",
70 author_email = "liurenzhong@yeah.net",
71
72 url = "wwww.cnblogs.com/renzo",
73
74 # 生成的可执行文件
75 executables = [GUI2Exe_Target_Main]
76 )
77
78
79 # 这里可以编写客户化的封装后处理代码。例如:临时数据的清除,数据包的发布等
80
81
82
83 # 到此,整个setup脚本已经完成。

  5. 生成的可执行文件(xxxx.exe)

  6. 执行结果

  恭喜你,可以把整个目标目录打包发布了。

将Python脚本封装成exe可执行文件 转的更多相关文章

  1. 使用py2exe将python脚本转换成exe可执行文件

    Python(wiki en  chs)是一门弱类型解释型脚本语言,拥有动态类型系统和垃圾回收功能,支持多种编程范式:面向对象.命令式.函数式和过程式编程. 由于Python拥有一个巨大而广泛的标准库 ...

  2. python脚本打包成exe可执行文件

    1. 工具pyinstaller (pip install pyinstaller) 2.生成exe (pyinstaller -F -w Capturing_PDFs.py) 参数 -F 生成单个文 ...

  3. python文件封装成*.exe

    python文件封装成*.exe文件(单文件和多文件) 环境:win10 64位 python3.7 原文: https://www.cnblogs.com/jackzz/p/9431923.html ...

  4. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  5. Python脚本打包成exe执行文件

    需求 一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构. 书籍解析是单独的pipeline,日志对用户不可见,这里 ...

  6. 【转载】将python脚本打包成exe文件

    exe文件也就是可以直接执行的文件.通常我们编好的带py后缀的脚本文件都是需要在有python的环境下执 行,每次通过Win + R打开运行窗口再输入powershell打开控制台,再千辛万苦地cd ...

  7. Python 程序打包成 exe 可执行文件

    Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...

  8. 将python脚本打包为exe可执行文件

    技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...

  9. python程序封装成exe流程

    在学习python的过程中,在IDE编写完成py项目,运行成功想要封装成exe,方便分享给不同的人即使别人没有安装python也可以使用. 封装的过程中遇到一些问题,记录一下,方便自己和他人查阅. 以 ...

随机推荐

  1. (转载)throw和throws的区别

    1.throw:(针对对象的做法)抛出一个异常,可以是系统定义的,也可以是自己定义的.下面举两个例子:抛出Java中的一个系统异常:public class One {public void yich ...

  2. 20145320 《Java程序设计》第1周学习总结

    20145320 <Java程序设计>第1周学习总结 教材学习内容总结 第一章 Java最早是Sun公司的项目Green Project中编写Star7应用程序的程序语言,1995年5月2 ...

  3. C# TreeView的CheckBox 父/子节点点击联动选择效果

    注: 点击时请正常速度点击,不然会出现“奇怪”现象!!! /// <summary> /// 节点点击 子级->同级->父级 /// </summary> /// ...

  4. jQuery的扩展与noConflict

    jQuery的扩展 noConflict

  5. 一个Demo学完Android中所有的服务(转)

    说明:这个例子实现了Android中常见的许多服务,下面是实现的截图 接下来,以源代码的方式分析这个例子   1.MainActivity--主界面 这个类主要是实现用户所看到的这个Activity, ...

  6. IUS

    后端提取的sdf中可能是有negative timing 在interconnect上的,可能的原因是crosstalk之类的问题导致. negative timing在FF,clock的delay超 ...

  7. WPF关于Generic.xaml

    如果需要用到Themes/Generic.xaml作为默认风格资源文件,不要忘了该项目的AssemblyInfo.cs中必须要有以下这段: [assembly: ThemeInfo( Resource ...

  8. Linux 的字符串截取方法(转)

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...

  9. 高性能完成端口socket服务(IOCP)

    1. Winsock IO模型之IOCP模型 来自csdn blog,版权声明:本文为博主原创文章,未经博主允许不得转载. 我这里记录下,不算转载吧 http://blog.csdn.net/lost ...

  10. Python之控制台输入密码的方法

    一.raw_input()或input(): for python 2.x [root@master test]# /usr/local/python2.7/bin/python test.py Pl ...