背景:
相同的代码,在同事mac电脑上运行正常,自己电脑会报错。自己电脑上的相关信息:
mac m1 芯片,使用homebrew安装python3.9
pycharm配置虚拟环境,使用homebrew安装的python
运行 from lxml import etree报错:
mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e') [如图所示]
【新手踩坑记录,具体我后面有空再完善】
曾经尝试解决的办法:
将mac的架构改为arm64e,虽然显示成功修改,但是运行还是报同样的错,解决失败
直接命令arch -arm64安装lxml,安装完成后,运行依然报错,解决失败
最后排查到可能是python安装所支持的架构不对导致,但通过自查安装路径发现确实是arm64的,实在没办法了,于是参考文章【1】,用miniforge安装python3.9再搭建一套支持arm64e的虚拟环境:
步骤:
下载miniforge arm版本,选择 Miniforge3-MacOSX-arm64,地址:
GitHub - conda-forge/miniforge: A conda-forge distribution.
启动终端(控制台),进入第一步miniforge文件下载的所在目录,执行命令:sh Miniforge3-MacOSX-arm64.sh,根据安装提示 一步步安装完成(全程基本上就是点enter了)
安装完成后,重启控制台,输入命令 conda --version 有返回版本号,说明安装成功
使用conda命令创建虚拟环境……
创建完成后记录下环境所在目录
激活环境,此时conda环境已经创建完毕
参考文章【2】,打开pycharm配置conda虚拟环境:
步骤:
用pycharm打开对应的项目
在右下角配置interpreter,点击add new interpreter --》add local ……
如图配置,就可以找到对应环境,切换之后再运行就没有报错啦
批注:
【1】
python运行py报have ‘x86_64‘, need ‘arm64e‘错误-CSDN博客
【2】:
pycharm 使用conda虚拟环境的详细配置过程_python_脚本之家
来源地址:https://blog.csdn.net/Jessy_Tien/article/details/130160040