Mac M2芯片环境下PyQt5架构不兼容问题求助
M2芯片MacBook Pro下Miniforge虚拟环境PyQt5架构不兼容问题
环境信息
- 设备:M2芯片MacBook Pro
- 虚拟环境:Miniforge(Python 3.8.17)
- 目标PyQt5版本:5.15.9
- 已安装包列表:
cycler==0.11.0 fonttools==4.42.1 kiwisolver==1.4.5 matplotlib==3.5.1 numpy==1.22.1 packaging==23.1 pandas==1.3.5 Pillow==10.0.0 psutil==5.8.0 pyparsing==3.1.1 PyQt5==5.15.9 PyQt5-sip==12.12.2 python-dateutil==2.8.2 pytz==2023.3.post1 scipy==1.7.3 six==1.16.0
错误信息
dlopen(/Users/zhouromee/miniforge3/envs/FD_benchmarking2/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so, 0x0002): tried: '/Users/zhouromee/miniforge3/envs/FD_benchmarking2/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/Users/zhouromee/miniforge3/envs/FD_Benchmarking2/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e'))
已尝试方案
使用pip install --no-binary :all: PyQt5==5.15.9重新安装,无效。
虚拟环境内解决方案
1. 彻底卸载现有PyQt5相关包
pip uninstall -y PyQt5 PyQt5-sip
2. 确认虚拟环境架构
运行以下命令确认当前虚拟环境为arm64架构:
python -c "import platform; print(platform.machine())"
输出应为arm64,若为x86_64,说明虚拟环境通过Rosetta运行,需重新创建arm64版本的Miniforge环境。
3. 适配arm64的安装方式
方式一:使用conda-forge安装(推荐)
conda-forge提供原生arm64的PyQt5包,在虚拟环境中执行:
conda install -c conda-forge pyqt=5.15.9 python=3.8
方式二:指定平台的pip安装
若坚持用pip,通过指定arm64平台强制下载适配预编译包:
pip install PyQt5==5.15.9 --platform macosx_11_0_arm64 --only-binary :all: --no-deps
--no-deps避免安装依赖时引入x86架构包,后续可根据需求手动补充缺失依赖。
4. 验证安装
运行以下命令确认PyQt5正常加载:
python -c "from PyQt5.QtCore import QObject; print('PyQt5 loaded successfully')"
无报错则安装成功。
内容的提问来源于stack exchange,提问作者Romee Zhou
相关产品推荐
相关产品推荐

