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

M1 Mac下用Anaconda通过PyInstaller打包Intel/Universal2程序报错求助

解决M1 Mac用Anaconda+PyInstaller打包Intel/Universal2程序的问题

问题根源

你当前的Anaconda环境是arm64架构,PyInstaller交叉打包其他架构时,需要依赖Universal2(Fat Binary)格式的Python库文件,但arm64版本的库文件不满足该要求,因此触发报错。

解决方案步骤

1. 创建兼容Universal2的Anaconda环境

先通过Rosetta 2启动终端:右键终端→显示简介→勾选「使用Rosetta打开」,然后在该终端中执行命令创建新环境:

conda create -n universal_env python=3.11
conda activate universal_env

通过Rosetta启动的终端创建的环境默认是x86_64架构,Anaconda会自动处理为兼容Universal2的基础环境,后续安装的依赖包也会优先适配x86_64,满足跨架构打包需求。

2. 安装PyInstaller及项目依赖

在激活的环境内,安装PyInstaller和你的项目所需依赖:

pip install pyinstaller
# 示例:安装项目依赖,根据实际需求调整
# pip install numpy requests ...

3. 执行打包操作

直接指定目标架构打包即可:

  • 打包为Universal2(同时兼容M1和Intel Mac):
pyinstaller --target-arch universal2 your_script.py
  • 打包为纯Intel(x86_64)架构:
pyinstaller --target-arch x86_64 your_script.py

4. 验证打包结果

打包完成后,可通过以下命令验证程序架构:

lipo -info dist/your_app.app/Contents/MacOS/your_app
  • 若输出包含x86_64和arm64,说明是Universal2格式;
  • 若仅包含x86_64,说明是纯Intel架构程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:30:20