使用 Python 导出 EXE 并包含相对路径的文件夹

在开发 Python 应用时,常常需要将其打包为可执行文件(EXE),尤其是当我们希望在没有 Python 环境的电脑上运行时。本文将介绍如何使用 PyInstaller 将 Python 脚本导出为 EXE 文件,并确保包含相对路径的文件夹。

为什么选择 PyInstaller?

PyInstaller 是一个非常流行的工具,它能将 Python 程序转换为独立的可执行文件。使用 PyInstaller 的好处包括:

  • 跨平台支持:支持 Windows、Linux 和 macOS。
  • 简单易用:只需少量配置即可完成打包。

导出 EXE 文件的步骤

安装 PyInstaller

首先,我们需要安装 PyInstaller。如果尚未安装,可以通过以下命令安装:

pip install pyinstaller

创建 Python 脚本

为了演示,我们将创建一个简单的 Python 脚本,该脚本将读取当前目录中的一个文本文件并输出内容。我们还将使用相对路径以保证文件能够被正确引用。

以下是 main.py 的示例代码:

import os

def read_file(filename):
    with open(filename, 'r') as f:
        content = f.read()
    return content

if __name__ == "__main__":
    relative_path = os.path.join('data', 'example.txt')
    if os.path.exists(relative_path):
        data = read_file(relative_path)
        print(data)
    else:
        print("文件不存在!")

添加数据文件

在同一目录下创建一个名为 data 的文件夹,并在这个文件夹中添加一个名为 example.txt 的文本文件,内容可以是任意文本。

打包成 EXE

现在,可以使用以下命令将代码打包为 EXE 文件:

pyinstaller --onefile --add-data "data;data" main.py
  • --onefile:表示将所有文件打包成一个单一的 EXE 文件。
  • --add-data "data;data":表示将 data 文件夹中的内容包括在内,data 是目标文件夹。

运行 EXE 文件

dist 文件夹中生成的 main.exe 文件现在可以运行,但要确保包含了 data 文件夹。这时,双击运行 main.exe,你应该可以在控制台中看到文本文件的内容。

饼状图展示应用结构

可以用饼状图展示包的结构如下:

pie
    title 应用文件结构
    "main.py" : 25
    "data" : 75

结论

通过本文的示例,我们展示了如何使用 PyInstaller 将 Python 脚本打包为 EXE 文件,并确保能够包含相对路径的文件夹。虽然打包过程简单,但一旦掌握了这些技巧,你就可以轻松地将 Python 应用分发给其他用户。希望这篇文章能对你有所帮助,祝你在 Python 开发之路上越走越远!