You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2019年Python3.7.3+pyenv环境下无法从PIL导入Image求助

解决pyenv下Python3.7.3导入PIL.Image的_imaging错误

嘿,我看你遇到的这个问题,核心是Pillow的编译版本和你pyenv里的Python3.7.3不兼容——从报错里的RuntimeWarning就能看出来,Pillow的_imaging扩展是给支持UCS4宽Unicode的Python编译的,但你当前的Python3.7.3编译参数不对,导致扩展没法正常加载。结合你用的是macOS+pyenv的环境,给你几个针对性的解决步骤:

第一步:彻底卸载现有Pillow

先把可能有问题的Pillow完全清干净,避免残留文件搞事情:

# 先激活你的pyenv 3.7.3环境
pyenv activate 3.7.3
# 彻底卸载Pillow
pip uninstall -y Pillow
# 手动删掉残留的PIL相关目录(如果有的话)
rm -rf ~/.pyenv/versions/3.7.3/lib/python3.7/site-packages/PIL/
rm -rf ~/.pyenv/versions/3.7.3/lib/python3.7/site-packages/Pillow-*.dist-info/

第二步:重新编译Python3.7.3(确保宽Unicode支持)

虽然Python3.3+理论上统一了Unicode实现,但pyenv编译时的参数可能有差异,咱们显式指定参数来确保兼容性:

# 先卸载当前的Python3.7.3
pyenv uninstall -f 3.7.3
# 设置编译环境变量,强制启用UCS4宽Unicode
export PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs4"
# 重新安装Python3.7.3
pyenv install 3.7.3
# 激活新安装的环境
pyenv activate 3.7.3
# 验证是否生效:运行后输出1114111就是UCS4,没问题;如果是65535就需要重新来一遍
python -c "import sys; print(sys.maxunicode)"

第三步:从源码编译安装Pillow

别用预编译的wheel包(大概率和你的Python编译参数不匹配),强制从源码编译安装:

# 先确保你装了Xcode命令行工具,如果没装的话先跑这个:xcode-select --install
pip install --no-binary :all: Pillow

第四步:验证问题是否解决

不管是终端还是PyCharm,都试试导入测试:

from PIL import Image
# 可以随便找张图试试能不能正常加载
img = Image.open("/你自己的测试图片路径.jpg")
img.show()

额外:PyCharm配置检查

别忘了确认PyCharm用的是你pyenv里的这个Python3.7.3:

  • 打开PyCharm的File > Settings > Project: [你的项目名] > Python Interpreter
  • 点右上角的齿轮,选Add
  • 选Existing environment,找到~/.pyenv/versions/3.7.3/bin/python,确认后应用就好

要是之后要切换到pypy,建议先把当前Python3.7的问题解决了,再卸载pypy里的Pillow重新安装——pypy装Pillow可能需要额外依赖,比如macOS下的libjpeg之类的,一步一步来更稳。

内容的提问来源于stack exchange,提问作者logic1976

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:23:50