最近在工作中遇到一个问题,运行代码提示have 'x86_64', need 'arm64e',在其他同事的电脑上可以正常运行,网上查了信息不多,没有好的解决方案,特此记录本次问题解决方案,希望后面的同行们可以少走弯路。
介绍一下我的运行环境MacBook Pro M1芯,python 3.10.2,PyCharm运行py文件具体报错信息如下:
from grpc_tools import _protoc_compiler
importError: dlopen(/Users/caolinghua/miniforge3/envs/pythontest3_10_1/lib/python3.10/site-packages/grpc_tools/_protoc_compiler.cpython-310-darwin.so, 0x0002): tried: '/Users/caolinghua/miniforge3/envs/pythontest3_10_1/lib/python3.10/site-packages/grpc_tools/_protoc_compiler.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/_protoc_compiler.cpython-310-darwin.so' (no such file), '/usr/lib/_protoc_compiler.cpython-310-darwin.so' (no such file)
其实我也没有好滴的解决方法,就是用miniforge安装python3.9在python上搭建了一套支持arm64e的虚拟环境,具体步骤如下
1.下载miniforge,GitHub地址:https://github.com/conda-forge/miniforge
下载arm版的软件
2.在terminal终端进入下载文件所在目录,执行sh Miniforge3-MacOSX-arm64.sh,安装提示输入enter命令完成安装
3.安装完成后重启terminal,输入conda --version检查是否安装成功
4.创建python3.9虚拟环境 输入conda create -n 虚拟环境的名字 python==3.9
5.激活虚拟环境,conda activate 虚拟环境名称
6.打开python编辑器,我用的是PyCharm
7.在yCharm- Preference切换编辑器为3.9虚拟环境
8.在虚拟环境中安装py运行所需插件,运行py成功