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

PyInstaller执行onefile单文件打包报KeyError:'CALL_FUNCTION'错误

报错原因

该异常由两类问题直接导致:

  1. 核心原因是版本不兼容:Python 3.11 及以上版本正式移除了旧版字节码指令 CALL_FUNCTION,替换为全新的调用指令组合;而当前环境安装的 PyInstaller 为 5.0 以下的旧版本,未对 Python 3.11+ 的字节码规则做适配,加载字节码匹配规则时找不到对应指令映射,直接抛出 KeyError: 'CALL_FUNCTION'。
  2. 执行的命令本身存在参数写法错误:单文件模式的参数为 --onefile(带双横线前缀),直接写 onefile 会被 PyInstaller 识别为待打包的脚本路径,就算解决版本问题也无法正常执行打包。
解决步骤
  • 首先升级 PyInstaller 到适配 Python 3.11+ 的版本,在命令行执行以下命令:
    pip install --upgrade pyinstaller
    
    升级完成后执行 pyinstaller --version 验证,返回版本号 ≥ 5.0 即为适配成功。
  • 修正打包命令的参数写法,基础单文件打包命令格式如下,替换为自己的项目入口脚本路径即可:
    pyinstaller --onefile your_app_entry.py
    
  • 如果项目有强依赖要求必须使用旧版 PyInstaller、无法完成升级,可将本地 Python 版本降级到 3.10 及以下,该版本区间仍保留 CALL_FUNCTION 字节码指令,可兼容旧版 PyInstaller。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 10:39:20