You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PyInstaller打包单文件exe时保留指定.py脚本?

保留指定Python脚本的可执行包构建方案(基于Python 3.9.4内置工具)

完全可行,你可以通过Python内置的zipapp模块打包核心代码为可执行归档,同时将qac_user_settings.py保留为外部脚本,具体操作如下:

  • 调整入口文件qac.py的导入逻辑:
    为了让打包后的可执行文件能读取外部的qac_user_settings.py,需要在qac.py开头添加路径配置,确保Python能找到这个外部脚本:

    import sys
    import os
    
    # 将可执行文件所在目录加入模块搜索路径
    sys.path.insert(0, os.path.dirname(os.path.abspath(sys.argv[0])))
    # 现在可以正常导入外部的qac_user_settings.py
    import qac_user_settings
    
  • 用zipapp打包核心代码:
    打开命令行进入项目根目录,执行以下命令,将qac.py和qac_bin目录打包为可执行归档文件:

    # Windows系统
    python -m zipapp -p "python.exe" -m qac:__main__ qac_app.pyz
    
    # Linux/macOS系统
    python -m zipapp -p "/usr/bin/env python3" -m qac:__main__ qac_app.pyz
    
  • 最终部署:
    将生成的qac_app.pyz和qac_user_settings.py放在同一目录下,直接运行qac_app.pyz即可(Windows下双击或用命令python qac_app.pyz,Linux/macOS下可直接执行./qac_app.pyz)。如果需要更接近exe的体验,Windows下可以写一个简单的批处理脚本qac_app.bat,内容为python qac_app.pyz,用户双击批处理即可运行。

如果一定要生成原生exe格式,由于Python内置库没有直接生成exe的工具,你可能需要使用第三方工具,但你提到无额外依赖,所以上述基于zipapp的方案更符合你的需求。

内容的提问来源于stack exchange,提问作者JohnyCapo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:03:26