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

Pyinstaller打包程序时subprocess找不到文件的问题求助

PyInstaller打包exe后FileNotFoundError排查步骤
  • 查看完整报错栈:不要双击运行exe,打开命令提示符,切换到exe所在目录,输入你的文件名.exe执行,这样能看到完整的错误信息,通常会显示具体缺失的文件路径。

  • 检查代码中的文件路径处理:

    • 代码里如果用到外部文件(配置、图片、数据等),绝对路径会导致打包后找不到文件,建议用相对路径结合脚本目录来拼接路径,示例代码:
      import os
      # 获取当前脚本所在目录
      script_dir = os.path.dirname(os.path.abspath(__file__))
      # 拼接目标文件路径
      target_file = os.path.join(script_dir, "需要读取的文件.txt")
      
    • 确认外部文件是否被打包:如果代码依赖的文件没被自动包含,打包时用--add-data参数指定,Windows下格式为pyinstaller --add-data "源文件路径;目标路径" 你的脚本.py,比如pyinstaller --add-data "config.ini;." main.py,表示把config.ini打包到exe同目录。
  • 切换打包模式排查:

    • 默认的--onefile模式会把所有文件打包成单个exe,运行时临时解压,容易出现路径问题。试试用--onedir模式打包(命令:pyinstaller --onedir 你的脚本.py),生成一个包含所有依赖文件的文件夹,打开dist里的文件夹,检查是否有缺失的.dll或其他依赖文件。
  • 升级PyInstaller:不同版本的PyInstaller对Python3.9的兼容性不同,执行pip install --upgrade pyinstaller升级后重新打包。

  • 排查安全软件干扰:部分杀毒软件会误删打包生成的文件或拦截exe运行,暂时关闭杀毒软件后再测试exe是否能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:01:06