cx_Freeze - python打包exe 学习教程汇总


打包常规流程

cx_Freeze 是一个用于将 Python 应用程序打包成可执行文件的工具。要将的 Python 应用程序打包成一个单独的、独立的可执行文件(exe),可以按照以下步骤进行操作:

  1. 安装 cx_Freeze
    首先,确保已经安装了 cx_Freeze。可以使用 pip 来安装:

    pip install cx_Freeze
    
  2. 创建 setup.py 文件
    在的项目根目录下创建一个 setup.py 文件,并添加以下内容:

    import sys
    from cx_Freeze import setup, Executable
    
    # 基础配置
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"  # 如果的应用是GUI应用,使用 "Win32GUI"
    
    # 可执行文件的配置
    executables = [Executable("your_script.py", base=base)]
    
    # 打包配置
    setup(
        name="YourAppName",
        version="0.1",
        description="Your App Description",
        executables=executables,
        options={
            "build_exe": {
                "include_files": [
                    # 在这里添加需要包含的额外文件,例如图片、配置文件等
                ],
                "excludes": [
                    # 在这里添加不需要包含的模块
                ],
                "zip_include_packages": "*",
                "zip_exclude_packages": ""
            }
        }
    )
    

    请将 your_script.py 替换为的主脚本文件名,并根据需要调整其他配置。

  3. 运行 setup.py
    打开命令行工具,导航到的项目目录,然后运行以下命令来生成可执行文件:

    python setup.py build
    

    这将生成一个 build 目录,其中包含的应用程序的可执行文件和相关依赖。

  4. 生成独立的可执行文件
    如果希望生成一个单独的、独立的可执行文件,可以使用 bdist_msibdist_dmg 命令来创建一个安装包,然后提取其中的可执行文件。例如:

    python setup.py bdist_msi
    

    这将生成一个 .msi 安装包,可以从中提取出独立的可执行文件。

  5. 使用工具进一步压缩
    有时,生成的可执行文件可能仍然包含一些不必要的文件。可以使用一些工具(如 UPX)来进一步压缩和优化生成的可执行文件。


setup.py文件填写

setup.py 文件是 cx_Freeze 打包过程中的核心配置文件。定义了如何将的 Python 应用程序打包成可执行文件。以下是 setup.py 文件的详细介绍,包括各个部分的内容和作用:

import sys
from cx_Freeze import setup, Executable

# 基础配置
base = None
if sys.platform == "win32":
    base = "Win32GUI"  # 如果的应用是GUI应用,使用 "Win32GUI"

# 可执行文件的配置
executables = [Executable("your_script.py", base=base)]

# 打包配置
setup(
    name="YourAppName",
    version="0.1",
    description="Your App Description",
    executables=executables,
    options={
        "build_exe": {
            "include_files": [
                # 在这里添加需要包含的额外文件,例如图片、配置文件等
            ],
            "excludes": [
                # 在这里添加不需要包含的模块
            ],
            "zip_include_packages": "*",
            "zip_exclude_packages": ""
        }
    }
)

1. 导入必要的模块

import sys
from cx_Freeze import setup, Executable

这部分代码导入了 sys 模块和 cx_FreezesetupExecutable 类,这是配置打包过程所必需的。

2. 基础配置

base = None
if sys.platform == "win32":
    base = "Win32GUI"  # 如果的应用是GUI应用,使用 "Win32GUI"

base 变量定义了可执行文件的基础类型。对于 Windows 平台,如果的应用程序是图形用户界面(GUI)应用,应该设置 base"Win32GUI"。如果是命令行应用,则保持 baseNone

3. 可执行文件的配置

executables = [Executable("your_script.py", base=base)]

executables 列表定义了要生成的可执行文件。每个 Executable 对象指定了主脚本文件和基础类型。将 "your_script.py" 替换为的主脚本文件名。

4. 打包配置

setup(
    name="YourAppName",
    version="0.1",
    description="Your App Description",
    executables=executables,
    options={
        "build_exe": {
            "include_files": [
                # 在这里添加需要包含的额外文件,例如图片、配置文件等
            ],
            "excludes": [
                # 在这里添加不需要包含的模块
            ],
            "zip_include_packages": "*",
            "zip_exclude_packages": ""
        }
    }
)

setup 函数定义了打包过程的详细配置:

  • name: 应用程序的名称。
  • version: 应用程序的版本号。
  • description: 应用程序的描述。
  • executables: 可执行文件的配置列表。
  • options: 额外的打包选项,特别是 "build_exe" 部分:
    • include_files: 需要包含的额外文件列表,例如图片、配置文件等。
    • excludes: 需要排除的模块列表,以减小可执行文件的大小。
    • zip_include_packages: 要压缩的包,使用 "*" 表示所有包。
    • zip_exclude_packages: 不压缩的包,留空表示不排除任何包。

示例

假设的应用程序名为 MyApp,版本为 1.0,描述为 A sample application,主脚本文件为 main.py,并且需要包含一个图片文件 logo.pngsetup.py 文件可以如下配置:

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

executables = [Executable("main.py", base=base)]

setup(
    name="MyApp",
    version="1.0",
    description="A sample application",
    executables=executables,
    options={
        "build_exe": {
            "include_files": ["logo.png"],
            "excludes": [],
            "zip_include_packages": "*",
            "zip_exclude_packages": ""
        }
    }
)

通过这样的配置,可以生成一个包含所有必要文件和依赖的可执行文件。运行 python setup.py build 命令后,将在 build 目录中找到生成的可执行文件。


参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司南锤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值