利用cx_Freeze将py文件打包成exe文件(图文全解)

本文介绍如何使用cx_freeze将Python程序打包成可在无Python环境运行的EXE文件。详细步骤包括安装验证cx_freeze及命令行打包方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文摘自:http://keliang.blog.51cto.com/3359430/661884


    python是一个非常非常优秀的编程语言,它最大的特性就是跨平台。python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质决定,不能叫缺憾,不过在这就这么称呼吧),那就是python程序的执行必须要有解释器的参与。那么python的程序如何在没有解释器的平台上使用呢?很简单,将python程序打包成exe可执行文件即可!

    在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂。so个人还是推荐cx_freeze。

    首先:cx_freeze下载地址: http://sourceforge.net/projects/cx-freeze/files/ 

    接着,介绍一下cx_freeze的使用方法。

第一步:检查cx_freeze是否安装正确。

运行cmd,切换到cxfreeze.bat,然后执行 "cxfreeze -h" 看看能否出效果

如果安装正确,如图显示

如果显示的如下图片,请查看一下你的python安装路径

修改路径的办法

打开你的python安装文件夹,例如我的python安装文件夹在G盘,那么用记事本打开G:\python\Scripts\cxfreeze.bat

如图

修改路径到自己的安装路径

然后保存,关闭记事本,重新检验,看看是否正确。

第二步:如果安装正确,那么接下来的事情就非常简单了

正式开始打包,命令为:cxfreeze hello.py --target-dir dist
 

命令解释:hello.py 是你要打包的主文件、启动文件

 

            Dist为要目标文件夹,打包后会生成dist目录,里面就有打包后的可执行文件。

注意:

  1. 只能指定一个要打包的模块,也就是启动模块
  2. 所有.py文件都不能有中文字符,否则会出现编码异常。
  3. 发布后,可执行文件执行路径不能有中文(最好也不要有空格)。
  4. 启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果。 
    if __name__ == "__main__": 
    main()
  5. 打包成功的图片:
  6.  

 

  1. 双击生成的exe文件可以使用了是不是很高兴呢?怎么觉得启动的时候后面有个黑糊糊的窗口不舒服?那你在生成命令里面加个参数吧!例子:

    cxfreeze hello.py --target-dir dist --base-name=123

  2. over。如果你对生成有其他要求,请参见:

    http://cx-freeze.sourceforge.net/cx_Freeze.html


### 使用 cx_Freeze 打包 Python 文件为 macOS 可执行文件 #### 工具简介 cx_Freeze 是一种能够将 Python 脚本转换为独立可执行文件的工具,支持个操作系统平台,包括 macOS。它具有跨平台特性、高性能以及易用性等特点[^2]。 #### 安装 cx_Freeze 要使用 cx_Freeze,需先安装该库。可以通过 pip 进行安装: ```bash pip install cx-Freeze ``` #### 创建 setup.py 配置文件 为了打包 Python 文件,需要创建一个 `setup.py` 文件来定义项目的配置参数。以下是针对 macOS 平台的一个基本示例: ```python from setuptools import find_packages, setup import sys import os from cx_Freeze import Executable, setup base = None if sys.platform == "darwin": # 判断当前运行环境是否为 macOS base = "Console" executables = [ Executable( script="your_script.py", # 替换为实际的 Python 文件名 base=base, target_name="app_name" # 设置生的应用程序名称 ) ] options = { "build_exe": { "packages": ["os"], # 添加依赖的模块 "include_files": [], # 如果有额外资源文件可以在此处指定 } } setup( name="App Name", version="0.1", description="A simple application built with cx_Freeze.", options=options, executables=executables ) ``` 上述代码中设置了目标脚本路径 (`script`) 和应用程序的基础类型 (`base`)。对于 macOS,基础类型应设置为 `"Console"` 或者自定义 GUI 应用程序的基础类[^3]。 #### 构建可执行文件 `setup.py` 后,在终端中导航到包含此文件的目录并运行以下命令构建应用: ```bash python setup.py build ``` 这将在项目根目录下生一个名为 `build` 的文件夹,其中包含了所需的 macOS 可执行文件。 #### 测试与分发 进入 `build` 文件夹中的子目录找到生的 `.exe` 文件(实际上是一个 macOS 上可用的二进制文件),测试其功能是否正常工作。如果一切顺利,则可以直接将其分发给其他用户。 --- ### 注意事项 - **依赖管理**:确保所有外部依赖项都已正确导入至 `setup.py` 中的 `packages` 参数列表里。 - **兼容性验证**:由于不同版本间可能存在差异,请务必确认所使用的 Python 版本和 cx_Freeze 是否完全匹配[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值