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

macOS下PyInstaller打包报SystemError: codesign failure!错误如何解决?

macOS下PyInstaller打包报codesign failure错误解决方案

这个错误的核心是PyInstaller执行adhoc临时签名时,无法为Python内置的resource.cpython-39-darwin.so动态库生成合法签名,常见原因包括PyInstaller版本过旧、缓存文件损坏、Python安装源兼容性问题、系统签名工具参数不兼容。

前置问题修复:无法直接调用pyinstaller命令

你当前需要通过自定义pyinstaller.py脚本启动是因为PyInstaller的可执行文件没有加入当前Python的PATH路径,不需要额外写脚本,直接用Python模块调用即可:
python -m PyInstaller 你的打包参数 app.py

核心错误修复步骤

  • 第一步:清空所有缓存
    删除PyInstaller全局缓存、项目本地编译缓存和配置文件:
rm -rf ~/Library/Application\ Support/pyinstaller/
rm -rf ./build ./dist ./app.spec
  • 第二步:升级PyInstaller到最新版本
    旧版本PyInstaller对macOS 13+、Python3.9+的签名逻辑兼容性很差,直接升级:
pip install --upgrade pyinstaller
  • 第三步:加--no-timestamp参数打包
    默认加时间戳的签名逻辑在adhoc签名场景下极易失败,打包时关闭时间戳即可:
    单文件打包命令示例:
python -m PyInstaller --onefile --no-timestamp app.py

图形化应用打包命令示例:

python -m PyInstaller --onefile --windowed --no-timestamp app.py
  • 第四步:上述步骤失败时执行
    如果你当前的Python是通过Homebrew安装的,替换为Python官网下载的官方Python3.9安装包重装Python和PyInstaller,Homebrew编译的Python动态库普遍存在签名异常问题,是这类报错的高发原因。
  • 第五步:仅本地测试用,不推荐分发场景
    可以直接关闭PyInstaller的自动签名逻辑,修改生成的app.spec文件,在EXE配置段新增codesign_identity=None参数,再用spec文件打包即可跳过签名步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:36:00