Py学习  »  Python

将 Python 脚本转换为 .Exe 文件的 3 种方法

数据STUDIO • 7 月前 • 227 次点击  


Python 是一种可靠的语言,以其可读性和效率而备受推崇。然而,当你想与世界分享你精妙的 Python 脚本时,一个常见的障碍出现了——这种语言在共享脚本时经常面临用户依赖性的挑战。不过,可以通过将 Python 脚本转换为独立的可执行文件 ( .exe ) 来克服这个障碍。在本文中,我们将讨论三种转换 Python 脚本并将其转换为独立可执行文件(Python 脚本转换为 .exe 文件)的方法,从而将你的代码从解释器的束缚中解放出来。系好安全带,我们将探索将 Python 打包成可执行文件背后的魔力,将你的代码转化为超越编程环境界限的可访问力量。

python 转 exe
python 转 exe

Python 脚本打包到 .exe 文件

可执行exe文件

在软件开发领域,可执行文件是指可由计算机操作系统直接运行或执行的文件。与人类可读且需要编程语言的编译器或解释器进行解释的源代码文件不同,可执行文件是机器可读的,包含计算机硬件可直接理解和执行的编译或翻译代码。

可执行文件根据操作系统的不同有多种格式,例如 Windows 的“.exe”文件、macOS 的“.app”包和 Linux 的二进制文件。

Python脚本

Python 脚本是包含用 Python 编写的指令的纯文本文件。它们通常以“.py”为扩展名,由 Python 解释器执行,允许开发人员为各种任务编写简洁高效的代码。

为什么要将 Python 脚本转换为 .Exe 文件?

将 Python 脚本转换为可执行文件 (exe) 有几个原因:

  • 分发: exe 文件是独立的可执行文件,可以分发到目标机器上运行,而无需最终用户安装 Python。如果你想将应用程序分享给那些需要熟悉 Python 或避免安装依赖项的用户,这尤其有用。
  • 易用性: 可执行文件通常更加用户友好。用户只需双击即可运行它们,而无需打开命令提示符或终端并输入命令来执行脚本。
  • 源代码保护: 将 Python 脚本转换为 exe 文件可以保护你的源代码免遭随意检查或篡改。虽然这并非万无一失,但它增加了一层额外的混淆保护。
  • 隐藏实现细节: 如果你想分发闭源应用程序或隐藏实现细节,将 Python 脚本转换为 exe 会使用户更难访问和修改代码。
  • 可移植性: exe 文件不仅可以封装你的 Python 代码,还可以封装任何所需的依赖项,从而使其更具可移植性并减少不同系统上出现兼容性问题的可能性。

有多种工具可用于将 Python 脚本转换为 exe 文件,例如 PyInstaller、cx_Freeze、py2exe 等。这些工具将 Python 脚本、Python 解释器和必要的依赖项捆绑到一个独立的可执行文件中。

将 Python 脚本转换为 .exe 文件的方法

方法 1:使用 PyInstaller

PyInstaller 是一款流行的工具,用于在 Windows 上将 Python 脚本转换为独立的可执行文件 (.exe)。以下是有关如何使用 PyInstaller 将 Python 脚本转换为可执行文件的分步指南:

步骤1:安装PyInstaller

打开命令提示符或终端并运行以下命令来安装 PyInstaller:

pip install pyinstaller

第 2 步:导航到脚本的目录

使用“cd”命令导航到 Python 脚本所在的目录。

cd path\to\your\script

步骤3:运行PyInstaller

使用以下命令运行 PyInstaller:

pyinstaller --onefile your_script.py

将“your_script.py”替换为你的 Python 脚本的名称。

–onefile 标志表示你想要一个可执行文件而不是一堆文件。

步骤 4:找到可执行文件

PyInstaller 完成后,你将在脚本目录中找到一个 dist 目录。在 dist 目录中,你将看到一个独立的可执行文件,其名称与你的脚本相同,但扩展名为 .exe

可选:自定义 PyInstaller 选项

PyInstaller 提供了多种选项来自定义生成的可执行文件的行为。有关自定义选项的更多详细信息,请参阅 PyInstaller 文档[1]

Note

  • 如果你的脚本包含依赖项或外部文件,PyInstaller 将尝试自动包含它们。但是,在某些情况下,你可能需要手动处理依赖项。
  • 如果你的脚本使用外部文件或资源,请确保它们与可执行文件位于同一目录中,或者更新你的脚本以正确处理文件路径。
  • 对于更复杂的项目或特殊情况,你可能需要探索其他 PyInstaller 选项或使用“pyinstaller-hooks-contrib”等工具以获得更好的兼容性。

就是这样!现在你应该有一个由 PyInstaller 从你的 Python 脚本生成的独立可执行文件。

方法 2:使用 py2exe

要使用 auto-py-to-exe 将 Python 脚本转换为独立可执行文件 (.exe),你可以按照以下步骤操作:

步骤 1:安装 py2exe

你可以使用 pip 安装 auto-py-to-exe。打开命令提示符或终端并运行以下命令:

pip install auto-py-to-exe

步骤 2:运行 py2exe

安装完成后,你可以通过在终端或命令提示符中执行以下命令来运行auto-py-to-exe

auto-py-to-exe

步骤 3:配置设置

  • py2exe 的 GUI 将会打开。在 GUI 中,你将看到各种选项和设置。
  • 单击“Browse”按钮并选择你的 Python 脚本文件。
  • 根据需要调整其他设置,例如添加其他文件或模块、选择输出目录以及根据你的要求设置其他选项。

步骤4:选择编译模式

根据你想要单个可执行文件还是包含可执行文件和支持文件的文件夹来选择编译模式。

步骤 5:单击“convert .py to .exe”

配置设置后,单击“ convert .py to .exe”按钮开始转换过程。

auto-py-to-exe 现在会将你的 Python 脚本编译为可执行文件。等待该过程完成。

步骤 6:查找输出

转换完成后,你将在指定的输出目录中找到生成的.exe文件。

就是这样!现在你应该有一个独立的 .exe 文件,无需在目标机器上安装 Python,即可分发和运行它。

方法 3:使用 cx_Freeze

要使用“cx_Freeze”将 Python 脚本转换为独立可执行文件(.exe),你可以按照以下步骤操作:

步骤 1:安装 cx_Freeze

确保已安装  cx_Freeze。你可以使用 pip 安装它:

pip install cx_Freeze

步骤 2:创建安装脚本

在与 Python 脚本相同的目录中创建一个设置脚本(例如 setup.py)。此脚本将提供 cx_Freeze 的配置。以下是一个简单的示例:

from cx_Freeze import setup, Executable
   setup(
       name="YourAppName",
       version="1.0",
       description="Your application description",
       executables=[Executable("your_script.py")],
   ) 

将“YourAppName”和“Your application description”替换为你的应用程序的名称和描述,将“your_script.py”替换为你的Python 脚本的名称。

步骤 3:运行安装脚本

打开终端,导航到包含 Python 脚本和“setup.py”文件的目录,然后运行:

python setup.py build

这将创建一个包含可执行文件的“build”目录。

步骤 4:找到可执行文件

运行  build 命令后,你可以在 build 目录中找到可执行文件。它位于一个以你的操作系统名称命名的子目录中(例如,对于 Windows 64 位可执行文件,其名称为 build\exe.win-amd64-3.8)。

现在,你应该拥有一个独立的可执行文件,可以在未安装 Python 的机器上分发和运行。请记住,如果你的脚本包含外部依赖项,则可能需要在 setup.py 脚本中明确包含它们。

有关更多高级配置选项,请参阅 cx_Freeze文档[2]

Python 脚本到 .Exe 文件:三种方法比较

特性PyInstaller py2execx_Freeze
易于使用
中等
简单
中等
平台支持
跨平台 (Windows, macOS, Linux)
仅限 Windows
跨平台 (Windows, macOS, Linux)
GUI 支持
是 (需额外配置)
打包格式
单文件或目录
单文件
单文件或目录
依赖处理
自动捆绑依赖
可能需要手动处理
可能需要手动处理
输出大小
通常较大
相对较小
通常较大
运行性能
良好
良好
良好
定制选项
有限
较多
有限
社区活跃度
活跃
活跃
相对较少
更新频率
定期更新
定期更新
更新较慢

写在最后

将 Python 脚本转换为可执行文件(Python 脚本转为 .exe 文件)是一项宝贵的技能,可以让你的代码共享更轻松、更便捷。虽然每种方法各有利弊,但它们都提供了一种从 Python 脚本创建独立可执行文件的方法。选择最适合你需求的方法,然后开始共享你的 Python 项目。

参考资料
[1] 

PyInstaller 文档: https://pyinstaller.org/en/stable/

[2] 

cx_Freeze文档: https://cx-freeze.readthedocs.io/


🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO 』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉 PythonMySQL数据分析数据可视化机器学习与数据挖掘爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/187103