ModuleNotFoundError:没有名为“_ctypes”的模块 Mac M1

use*_*228 19 python macos

在安装一些库时您可能会发现问题ModuleNotFoundError: No module named '_ctypes'

rvd*_*rvd 25

简洁版本:

尝试使用pyenv : 安装 python 3.7.13 pyenv install 3.7.13,如果这不起作用,请尝试 python 3.7.12 ( pyenv install 3.7.12)。

pyenv版本2.2.3解决了 M1 mac 上 3.6.15/3.7.12 的编译问题,特别是ctypes

长版:

该错误的根本原因_ctypes似乎是在编译过程中找不到 libffi,因此在 Python 安装过程中(默默地)跳过了 libffi。

此页面有使用 pyenv 安装不同版本的全面概述,某些特定版本需要自制补丁。以下是这些补丁的概述。不过,我会先尝试在没有补丁的情况下安装它们,因为自那篇文章撰写以来 pyenv 团队已经修复了各种编译问题。

使用补丁安装的一般语法是: 您要安装的版本在pyenv install --patch X.X.X <<(curl -sSL link_to_patch)哪里。X.X.X

另一个解决方案是使用 x86 版本的 homebrew

Apple Silicon正式不支持 Python 3.7 及更低版本


use*_*228 13

确保您正在运行 python 3.8.10 +

  • python 3.7有什么解决方案吗? (3认同)
  • 但是core m1不能使用低于3.7的python版本 (2认同)