Mac M1 Pro运行Python自动化项目遇架构不兼容错误求助
问题分析
核心错误为_cffi_backend.cpython-38-darwin.so是x86_64架构,与M1 Pro的arm64架构不兼容,同时存在pyenv环境与系统Python版本冲突的情况。
解决方案
步骤1:确保pyenv管理的Python为arm64架构
- 卸载现有pyenv管理的Python 3.8.12:
pyenv uninstall 3.8.12 - 设置编译环境变量,强制生成arm64架构的Python:
export ARCHFLAGS="-arch arm64" export PYTHON_CONFIGURE_OPTS="--enable-framework" - 重新安装Python 3.8.12:
pyenv install 3.8.12 - 验证架构是否正确:
输出需为pyenv local 3.8.12 python3 -c "import platform; print(platform.machine())"arm64。
步骤2:修复shell环境变量,确保pyenv优先级高于系统Python
修改.zprofile中的配置,保证$PYENV_ROOT/bin在PATH最前端,修改后内容如下:
eval "$(/opt/homebrew/bin/brew shellenv)" export JAVA_HOME=$(/usr/libexec/java_home) export PATH="$PYENV_ROOT/bin:$JAVA_HOME/bin:$PATH" export PYENV_ROOT="/opt/homebrew" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
重启终端后验证:
which python3
输出应为/opt/homebrew/shims/python3;再执行:
python3 --version
输出应为Python 3.8.12。
步骤3:重新创建项目虚拟环境并安装依赖
- 删除原虚拟环境:
rm -rf /Users/{username}/PycharmProjects/EzeAuto/venv - 进入项目目录创建新虚拟环境:
cd /Users/{username}/PycharmProjects/EzeAuto pyenv local 3.8.12 python3 -m venv venv - 激活虚拟环境并重新安装依赖:
source venv/bin/activate pip install --upgrade pip # 若有requirements.txt则执行 pip install -r requirements.txt # 若无则手动重装cffi pip install --force-reinstall cffi
步骤4:配置PyCharm解释器
打开PyCharm项目设置,选择新创建的虚拟环境/Users/{username}/PycharmProjects/EzeAuto/venv/bin/python3,确认版本为3.8.12且架构为arm64。
内容的提问来源于stack exchange,提问作者Nishank Jain
相关产品推荐
相关产品推荐

