M1 Mac下Pycharm中Numpy运行失败但终端/VSCode正常
问题原因与解决方法
核心问题是Pycharm的运行架构与Pipenv虚拟环境中依赖包的架构不匹配:终端运行时的架构(x86_64,通过Rosetta模拟)与Pycharm的架构(arm64原生)不一致,导致Pycharm无法加载为x86_64编译的Numpy库文件。
解决步骤
1. 确认架构差异
- 在终端的Pipenv Shell中执行:
python -c "import platform; print(platform.machine())" - 在Pycharm中新建Python脚本执行同样代码,对比两者输出:
- 如果终端输出
x86_64,Pycharm输出arm64,说明架构不匹配是根源。
- 如果终端输出
2. 方案一:让Pycharm适配现有x86_64环境
- 找到Pycharm应用图标,右键选择「显示简介」
- 勾选「使用Rosetta打开」,重启Pycharm
- 重新运行代码,x86_64的Numpy库即可被Rosetta模拟的x86_64环境加载
3. 方案二:创建适配arm64的新虚拟环境
- 关闭所有通过Rosetta打开的终端,打开原生arm64终端(直接启动「终端」应用,无需右键勾选Rosetta)
- 删除现有虚拟环境:
pipenv --rm - 重新创建并安装依赖:
pipenv install numpy matplotlib - 在Pycharm中重新配置解释器,选择新生成的Pipenv环境,确保Pycharm未勾选「使用Rosetta打开」,即可匹配arm64架构的依赖包
内容的提问来源于stack exchange,提问作者coderman
相关产品推荐
相关产品推荐

