将Python脚本封装成exe可执行文件 转
将Python脚本封装成exe可执行文件
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可执行文件 转的更多相关文章
- 使用py2exe将python脚本转换成exe可执行文件
Python(wiki en chs)是一门弱类型解释型脚本语言,拥有动态类型系统和垃圾回收功能,支持多种编程范式:面向对象.命令式.函数式和过程式编程. 由于Python拥有一个巨大而广泛的标准库 ...
- python脚本打包成exe可执行文件
1. 工具pyinstaller (pip install pyinstaller) 2.生成exe (pyinstaller -F -w Capturing_PDFs.py) 参数 -F 生成单个文 ...
- python文件封装成*.exe
python文件封装成*.exe文件(单文件和多文件) 环境:win10 64位 python3.7 原文: https://www.cnblogs.com/jackzz/p/9431923.html ...
- 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)
解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...
- Python脚本打包成exe执行文件
需求 一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构. 书籍解析是单独的pipeline,日志对用户不可见,这里 ...
- 【转载】将python脚本打包成exe文件
exe文件也就是可以直接执行的文件.通常我们编好的带py后缀的脚本文件都是需要在有python的环境下执 行,每次通过Win + R打开运行窗口再输入powershell打开控制台,再千辛万苦地cd ...
- Python 程序打包成 exe 可执行文件
Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...
- 将python脚本打包为exe可执行文件
技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...
- python程序封装成exe流程
在学习python的过程中,在IDE编写完成py项目,运行成功想要封装成exe,方便分享给不同的人即使别人没有安装python也可以使用. 封装的过程中遇到一些问题,记录一下,方便自己和他人查阅. 以 ...
随机推荐
- iOS,自动布局autoresizing和auto layout,VFL语言
1.使用autoresizing 2.使用autolayout 3.VFL语言(Visual Format Language:可视化格式语言) 使用autoresizing 点击xib文件,去掉使用a ...
- RDIFramework.NET ━ 9.3 用户管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.3 用户管理 -Web部分 用户管理模块主要是对可登录系统的用户进行管理.后续的工作如:用户归属角色.权限的分配.用户所拥有 ...
- Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程:1.是一个Servlet,继承自GenericS ...
- asp.net mvc4 设置build项目时,编译view页面
新建好项目后,把system.web.mvc.dll移除,重新选择本地C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies ...
- Linux下使用shell实现上传linux下某个目录下所有文件到ftp
首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh 之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录 ...
- NFC基础
本文档描述了在Android执行的基本的NFC技术,它说明了如何发送和接收NDEF消息的形式的NFC数据,并介绍Android框架中支持这些功能的API,对于更高级的主题,包括讨论非NDEF数据相关的 ...
- My roadway of compilers principles.
龙书学习过程代码记录--Python3.5(毕竟第一遍看书,书里面的例子全用python写的) One 将中缀表达式翻译成后缀表达式↓ class Parser(object): def __init ...
- ECMAScript 6教程 (三) Class和Module(类和模块)
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文连接,博客地址为 http://www.cnblogs.com/jasonnode/ .该系列课程是 ...
- Word Reversal
For each list of words, output a line with each word reversed without changing the order of the wo ...
- 【转】MYSQL启用日志,和查看日志
转载地址:http://wasabi.iteye.com/blog/318962 mysql有以下几种日志: 错误日志: -log-err 查询日志: -log ...