M1 Pro芯片Mac安装Python3.7.12的pandas报错怎么解决
M1 Pro macOS Monterey下pyenv Python3.7.12缺失_ctypes模块修复方案
ModuleNotFoundError: No module named '_ctypes'报错是因为pyenv编译Python3.7.12时没有找到对应的libffi依赖,导致_ctypes扩展模块没有被编译进Python安装包,属于M1系列芯片安装低版本Python的常见问题,与你之前中途终止全局安装pandas的操作无关。
Python3.9及以上版本原生支持Apple Silicon架构,无需额外配置即可正常编译安装所有内置模块,这是你安装3.9.9版本无报错的原因
修复步骤如下:
- 第一步:安装编译所需的依赖
执行brew命令安装所需依赖库:brew install libffi openssl zlib - 第二步:卸载当前存在问题的Python3.7.12版本
执行命令移除已安装的损坏版本:pyenv uninstall -f 3.7.12 - 第三步:配置编译环境变量并重新安装Python3.7.12
先执行以下命令临时导入环境变量,指定M1芯片下brew依赖库的路径:
再通过Rosetta转译x86架构编译安装Python3.7.12:export LDFLAGS="-L/opt/homebrew/opt/libffi/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/opt/zlib/lib" export CPPFLAGS="-I/opt/homebrew/opt/libffi/include -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/opt/zlib/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/libffi/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/zlib/lib/pkgconfig" export PYTHON_CONFIGURE_OPTS="--enable-framework"arch -x86_64 pyenv install 3.7.12 - 第四步:验证安装是否正常
切换到新安装的Python3.7.12版本,执行命令验证_ctypes模块是否正常加载:pyenv shell 3.7.12 && python -c "import _ctypes; print('模块加载正常')"
如无报错输出「模块加载正常」即为安装成功。 - 第五步:重新创建虚拟环境安装pandas
移除原有问题虚拟环境,重新创建venv环境后先升级pip,再安装pandas即可:rm -rf cosa5 python -m venv cosa5 source cosa5/bin/activate pip install --upgrade pip pip install pandas
内容的提问来源于stack exchange,提问作者Matías Navarrete Grau
相关产品推荐
相关产品推荐

