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

2023-05-16

  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

import time

print ("Hello World!")

time.sleep(5)

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

  •   使用参数:

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

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

  CMD> python setup.py build

  setup.py配置程序:

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. 执行结果

 

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

转载于:https://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Mybatis初始化机制

    对于任何框架而言 xff0c 在使用前都要进行一系列的初始化 xff0c MyBatis也不例外 本章将通过以下几点详细介绍MyBatis的初始化过程 1 MyBatis的初始化做了什么 2 MyBatis基于XML配置文件创建Config
  • ValidationSummary控件

    ValidationSummary控件用于在页面中的一处地方显示所有验证错误的列表 这个控件在使用大的表单时特别有用 如果用户在页面底部的表单字段中输入了错误的值 xff0c 那么这个用户可能永远也看不到错误信息 不过 xff0c 如果使用
  • 数据特征分析——概述

    一 6个基础分析思路 xff1a 1 分布分析 2 对比分析 3 统计分析 4 帕累托分析 5 正态性检验 6 相关性分析 二 分布分析 分布分析 xff1a 研究数据的分布特征和分布类型 xff0c 分定量数据 定性数据区分基本统计量 三
  • Filebeat 6.0 把日志直接输入到ES中如何自定义index

    临时搭建了一套EFK xff08 elasticsearch xff0c filebeat xff0c kibana xff09 xff0c filebeat 6 0 默认的index 是filebeat 43 时间 xff0c 这样无法满
  • 人在异乡

    为什么到了上海五年 xff0c 还是没有归属感 to be continued
  • 怎么求矩阵对应的基

    怎么求矩阵对应的基呢 xff1f 对矩阵做初等行变换 xff0c 化为上三角形 或 对角型 xff0c 主对角元素不为0的列即为该矩阵的一组基 A 61 这个矩阵对应的一个基 为 其实 xff0c 将第二行的 1 倍加到第一行上 xff0c
  • javascript弹出窗口代码

    1 最基本的弹出窗口代码 lt SCRIPT LANGUAGE 61 34 javascript 34 gt lt window open 39 page html 39 gt lt SCRIPT gt 因为着是一段javascripts代
  • 大规模异步新闻爬虫【5】:网页正文的提取

    前面我们实现的新闻爬虫 xff0c 运行起来后很快就可以抓取大量新闻网页 xff0c 存到数据库里面的都是网页的html代码 xff0c 并不是我们想要的最终结果 最终结果应该是结构化的数据 xff0c 包含的信息至少有url xff0c
  • 网络安全态势可视化

    导语 网络态势可视化技术作为一项新技术 xff0c 是网络安全态势感知与可视化技术的结合 xff0c 将网络中蕴涵的态势状况通过可视化图形方式展示给用户 xff0c 并借助于人在图形图像方面强大的处理能力 xff0c 实现对网络异常行为的分
  • 滚动窗口

    本页目录 语法案例 滚动窗口 xff08 TUMBLE xff09 将每个元素分配到一个指定大小的窗口中 通常滚动窗口有一个固定的大小 xff0c 并且不会出现重叠 例如 xff1a 如果指定了一个5分钟大小的滚动窗口 xff0c 无限流的
  • Qt5&OpenCV3 UDP协议实现实时视频传输与通信

    打算在树莓派上挂载摄像头 xff0c 通过WIFI模块传输到上位机 局域网内带宽不是问题 xff0c 为了保证实时性 xff0c 也没有必要进行复杂的视频编码和解码 xff0c 于是通过截图然后使用UDP协议传输应该是可以的 所以最近试探性
  • BeanUtils.copyProperties忽略某些字段的值及其原理

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 用法 例如 xff1a BeanUtils copyProperties beforeObj route new String 34 id 34 34 createDa
  • 关于C语言中的科学计数法问题。

    变量 不能作为e的指数 是的 double a 61 3 5e2 double a 61 3 5e0 double a 61 3 5e 2 只能是字面常量 xff0c 而且必须是整数 xff0c 正负0均可 double a 61 3 5e
  • Access Denied when running Spring.IocQuickStart.MovieFinder

    I just begin to learn something about Spring Net heaps of probem are waiting for me The very first one has been solved I
  • 错误提示窗口-“操作系统当前的配置不能运行此应用程序”

    有些人安装的Windows系统里的office是精简版的 xff0c 只适合普通办公处理word和excel xff0c 以及PPT xff0c 但是我们要研究一些关于数据库的知识时会受到阻碍 xff0c 大多数人会自己在网上随便找了一个A
  • matlab练习程序(倾斜校正,透视变换)

    过去也写过透视变换 xff0c 当时算法真是弱爆了 xff0c 我竟然会通过两次变换 不过那引用的三篇文章都是非常好的文章 xff0c 直到今天我才看明白 所谓的倾斜校正 xff0c 一定要有标定点 xff0c 将一个倾斜的矩形变为不倾斜的
  • 多媒体指令(数组对应元素相乘)

    include lt iostream gt using namespace std int main int argc char argv float a 8 61 1 2 3 4 5 6 7 8 float b 8 61 1 2 3 4
  • 安卓手机如何快速投屏到windows(10/8.1/7)电脑上

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 前提 手机和电脑连接的网络必须在同一局域网下 优势 手机和电脑不需要下载对应平台的应用 xff0c 完全使用全系统自带功能 附加 以下演示是安卓手机和windows操作系统
  • Webpack mode三种模式配置说明(production,development,none)

    我们都知道webpack的配置文件 webpack config js 文件中 mode 表示webpack当前的环境以及对不同的环境的配置 虽然官方文档写明了三种不同的模块的配置 xff0c 但是没有具体说明是什么意思 xff0c 我就注
  • kafka多个消费者消费一个topic_kafka:一文读懂消费者背后的那点"猫腻"

    来自 xff1a z小赵 前言 经过前几篇文章的介绍 xff0c 大致了解了生产者背后的运行原理 消息有生产就得有人去消费 xff0c 今天我们就来介绍下消费端消费消息背后发生的那点事儿 文章概览 消费者与消费组的 父子关系 Reparti

随机推荐