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

Pillow库在Python3.10.x正常运行,3.11.x导入报错求解决方案

问题

在Python 3.10.x环境中执行from PIL import Image导入Pillow库无报错,但切换到Python 3.11.x环境运行相同代码时,出现以下导入错误:

Traceback (most recent call last):
File "C:\Users\einfa\Downloads\Displaying-Images-With-Turtle_ORIGINAL\main\main.py", line 8, in
from libs.PIL import Image
File "C:\Users\einfa\Downloads\Displaying-Images-With-Turtle_ORIGINAL\main\libs\PIL\Image.py", line 100, in
from . import _imaging as core
ImportError: cannot import name 'imaging' from 'libs.PIL' (C:\Users\einfa\Downloads\Displaying-Images-With-Turtle_ORIGINAL\main\libs\PIL_init.py)

已尝试更换不同版本的Pillow但未解决,确认问题由Python版本差异导致,当前通过pip3 install pillow安装库,需要找到可在两个版本中正常运行的解决方案。

解决方案
  • 删除项目本地的PIL文件夹
    从报错路径可以看出,代码是从项目内部的libs.PIL导入模块,而非通过pip安装的系统/site-packages版本。这个本地PIL文件夹是基于Python 3.10编译的二进制文件,无法在Python 3.11中兼容运行。直接删除项目目录下的main/libs/PIL整个文件夹,让代码自动加载对应Python版本下通过pip安装的Pillow。

  • 修正导入语句
    将代码中的导入语句改为标准形式:

    from PIL import Image
    

    避免使用from libs.PIL import Image,确保优先加载系统中为当前Python版本安装的兼容Pillow库。

  • 使用虚拟环境隔离版本
    为两个Python版本分别创建独立的虚拟环境,避免版本冲突:

    1. 为Python 3.10创建并激活虚拟环境:
      python3.10 -m venv venv310
      # Windows激活命令:venv310\Scripts\activate
      # Linux/macOS激活命令:source venv310/bin/activate
      
    2. 在激活的环境中安装Pillow:
      pip install pillow
      
    3. 重复上述步骤为Python 3.11创建虚拟环境并安装Pillow,运行代码时激活对应环境即可。
  • 安装兼容双版本的Pillow版本
    Pillow 9.5.0及后续版本同时兼容Python 3.10和3.11,可以指定安装该版本:

    pip install pillow==9.5.0
    

    该版本能在两个Python版本中稳定运行,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:55:18