尝试使用PIL调整图片尺寸时遭遇架构不兼容ImportError错误
解决PIL架构不兼容的ImportError问题
这问题我之前在M2 Mac上踩过一模一样的坑!本质是你的Python虚拟环境里装的PIL是针对x86_64架构编译的,但你的Mac是arm64(Apple Silicon)架构,所以加载_imaging.cpython-310-darwin.so这个动态库时就触发了架构不兼容的错误。
下面是我亲测有效的解决方法:
先彻底卸载现有PIL/Pillow
激活你的虚拟环境后,执行命令:pip uninstall -y pillow确保把残留文件也清掉,可以检查虚拟环境下的
site-packages/PIL目录,如果还存在就手动删除。重新用arm64架构的pip安装Pillow
关键是要确保你的pip适配arm64,别用Rosetta转译的版本。如果你的虚拟环境是用Apple Silicon原生Python创建的,直接执行:pip install pillow不确定Python架构的话,先运行这个命令确认:
python -c "import platform; print(platform.machine())"输出应该是
arm64,如果是x86_64说明你的Python是通过Rosetta运行的,建议重新创建基于原生arm64 Python的虚拟环境。如果还是不行,试试从源码编译安装
有些情况预编译轮子可能有问题,直接从源码编译能确保适配你的架构:pip install --no-binary :all: pillow编译前记得装Xcode Command Line Tools,用
xcode-select --install就能搞定。
补充一句:Apple Silicon的Mac上,很多第三方库都需要适配arm64架构,尽量别用Rosetta转译的Python环境,不然很容易出这类架构不兼容的幺蛾子。
内容的提问来源于stack exchange,提问作者Owen1218
相关产品推荐
相关产品推荐

