Mac安装Apple Silicon版PyCharm后原有项目运行报错如何解决?
报错说明
原始报错信息:
ImportError: dlopen(/Users/peter/PycharmProjects/myproject/venv/lib/python3.8/site-packages/bcrypt/_bcrypt.abi3.so, 2): no suitable image found. Did find: /Users/peter/PycharmProjects/myproject/venv/lib/python3.8/site-packages/bcrypt/_bcrypt.abi3.so: mach-o, but wrong architecture /Users/peter/PycharmProjects/myproject/venv/lib/python3.8/site-packages/bcrypt/_bcrypt.abi3.so: mach-o, but wrong architecture中文翻译:
导入错误:尝试加载路径下的_bcrypt.abi3.so动态库失败,未找到适配的二进制文件。已找到的文件为Mach-O格式,但与当前运行的架构不匹配。
问题根因
该报错是架构不兼容导致的:你此前使用的是适配Intel x86架构的普通版PyCharm,创建虚拟环境时安装的依赖包均为x86架构编译的二进制版本。更换为适配Apple Silicon ARM架构的PyCharm后,ARM架构的Python解释器无法识别x86架构的二进制依赖包,因此触发报错。
可用解决方案
方案1:快速兼容(无需修改项目,操作耗时1分钟内)
适合临时需要快速恢复项目运行的场景,缺点是无法完全发挥Apple Silicon版PyCharm的性能优势:
- 打开Mac的「应用程序」文件夹,找到PyCharm应用
- 右键点击PyCharm图标,选择「显示简介」
- 勾选「使用Rosetta打开」选项后关闭简介窗口
- 完全退出PyCharm后重新启动,原有虚拟环境即可正常运行
方案2:重建虚拟环境(长期使用可完全释放ARM架构性能)
适合打算长期使用Apple Silicon版PyCharm的场景:
- 先激活原有虚拟环境,执行命令
pip freeze > requirements.txt备份项目全部依赖列表 - 关闭PyCharm,删除项目目录下的旧venv文件夹
- 重新打开Apple Silicon版PyCharm,选择对应版本的Python解释器新建虚拟环境
- 激活新虚拟环境后执行命令
pip install -r requirements.txt重新安装所有依赖,安装完成后项目即可正常运行 - 若遇到个别依赖暂未适配ARM架构的情况,可执行
arch -x86_64 pip install 依赖包名临时安装x86版本配合Rosetta使用
内容的提问来源于stack exchange,提问作者Peter Schofield
相关产品推荐
相关产品推荐

