【python】打包成可执行程序

文章目录

  • 一、概述
  • 二、pyinstaller
    • 2.1 概述
    • 2.2 安装
    • 2.3 生成可执行文件
  • 三、cx_Freeze
    • 3.1 概述
    • 3.2 安装
    • 3.3 生成可执行文件
  • 四、PyOxidizer
    • 4.1 概述
    • 4.2 安装
    • 4.3 生成可执行文件

一、概述

随着Python语言的普及,将其开发的应用程序转化为跨平台、独立部署的可执行文件的需求日益增长。Python打包工具正是为解决这一需求而生,它们通过编译、静态链接等方式,将Python脚本及其依赖库整合为单一可执行文件或安装包,从而简化部署流程,提高应用的便携性和安全性。

以下是几种常用的打包方法。

二、pyinstaller

2.1 概述

PyInstaller是一个流行的打包工具,能够将Python脚本及所有依赖转换为一个独立的可执行文件,支持Windows、macOS和Linux操作系统。具体的使用可查阅PyInstaller官方文档

2.2 安装

在使用pyinstaller工具时需要先安装才能使用,可以打开powershell或者在VScode的终端界面中输入命令。

如果不确定是否安装了pyinstaller时,可以使用下面的命令:

pip show pyinstaller

如果已经安装,会如下图所显示,显示pyinstaller的安装信息,包括版本号、安装路径等。如果未安装,则会收到类似于Could not find installation information for package 'pyinstaller'的提示信息。
【python】打包成可执行程序_第1张图片
接下来就是开始安装pyinstaller

pip install pyinstaller

2.3 生成可执行文件

使用pyInstaller生成可执行文件。如果你的应用名为main.py,可执行下列命令:

pyinstaller --onefile main.py
#--onefile选项表示将所有依赖打包进一个单独的可执行文件中。

三、cx_Freeze

3.1 概述

cx_Freeze是另一个打包工具,与PyInstaller类似,但某些情况下可能更适合特定项目或平台。具体的使用可查阅cx_Freeze官方文档

3.2 安装

在安装之前,可以用pip show cx_Freeze 先查看是否安装了cx_Freeze工具,下图是没有安装的情况,如果安装了,会给出cx_Freeze工具相关的信息。
在这里插入图片描述
开始安装cx_Freeze:

pip install cx_Freeze

3.3 生成可执行文件

创建一个setup脚本,例如setup.py,并配置应用信息,相关的信息需要自行修改

import cx_Freeze

# 应用的基本信息配置
executables = [cx_Freeze.Executable("your_main_script.py", base=None)]  # your_main_script.py 是你的主程序入口

# 设置构建选项
build_exe_options = {
    "packages": ["os", "sys", "requests"],  # 需要包含的额外Python包
    "include_files": ["config.ini", "data/"],  # 需要复制到构建目录的额外文件或目录
    "excludes": ["tkinter"],  # 需要排除的模块,以防打包不必要的库
    "include_msvcr": True,  # Windows下,包含MSVC运行时库
}

# 创建设置
setup(
    name="YourAppName",  # 应用名称
    version="0.1",  # 版本号
    description="A brief description of your application",  # 应用简述
    options={"build_exe": build_exe_options},  # 构建选项
    executables=executables,  # 可执行文件配置
)

然后运行setup脚本来生成可执行文件:

python setup.py build

四、PyOxidizer

4.1 概述

PyOxidizer是一个较新的工具,旨在通过直接编译Python应用程序到单个二进制文件来简化部署过程。它不仅包含Python解释器,还包括所有的依赖库。

4.2 安装

安装前同样可用pyoxidizer --version查看自己是否已经安装。

安装PyOxidizer:

cargo install pyoxidizer

4.3 生成可执行文件

创建一个PyOxidizer配置文件(如pyoxidizer.toml),并配置应用信息,详细配置选项请参考PyOxidizer的官方文档。

具体样例如下:

[package]
name = "MyApp"
version = "0.1.0"

[[binaries]]
name = "myapp"
path = "src/main.py"
# 指定Python模块作为入口点
module = "main"
# 可选:设置额外的命令行参数
# args = ["--arg1", "value1"]

[build]
# 目标平台配置,可以指定多个platforms
[[build.targets]]
# 例如,针对Windows平台
triple = "x86_64-pc-windows-msvc"
# 其他可配置项如rustflags、linker-args等

# 资源文件配置,确保资源被打包进二进制文件
[[resources]]
# 源目录
source = "resources/**"
# 目标目录(相对二进制文件)
target = "resources/"

# 可以指定更多的构建选项,比如链接静态Python库等
# [build.rustflags]
# rustflags = ["-C", "link-arg=-static-libpython"]

# 其他高级配置如自定义构建脚本、条件编译等也可在此配置

接着使用PyOxidizer构建你的应用:

pyoxidizer build

你可能感兴趣的:(python,python,开发语言)