要使用 PyInstaller打包包含多个文件夹和多个 Python 文件的项目,可以按照以下步骤进行:

1. 创建 spec 文件

PyInstaller 支持通过 spec 文件配置更复杂的打包需求。首先,使用以下命令生成一个基础的 spec 文件:

pyi-makespec XXX.py

这会生成一个 spec 文件。

2. 配置 spec 文件

spec 文件中,你需要明确指定哪些文件夹和模块需要被包含。
例如,假设你的项目结构如下:

your_project/
    ├── folder1/
    │   ├── file1.py
    │   └── file2.py
    ├── folder2/
    │   ├── file3.py
    │   └── file4.py
    └── main.py

你可以通过修改 your_app_name.spec 文件来包含这些文件夹和模块。在 Analysis 部分,加入 folder1folder2 中的所有 Python 文件,像这样:

# your_app_name.spec

# 其他部分保持不变
a = Analysis(
    ['main.py'],
    pathex=['your_project'],
    binaries=[],
    datas=[
        ('folder1/*', 'folder1'),  # 将folder1中的文件包含进来
        ('folder2/*', 'folder2'),  # 将folder2中的文件包含进来
    ],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
)

这样,folder1folder2 中的所有 Python 文件都会被打包到生成的可执行文件中。

3. 打包

然后,使用以下命令运行 PyInstaller 来进行打包:

pyinstaller XXX.spec

4. 调试和完善

如果有额外的依赖或特殊需求(比如外部资源文件或动态库),你可以在 spec 文件中进一步修改 binariesdatas 配置,或者调整其他打包参数。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐