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

Python 3.9下PyAutoGUI的locateOnScreen函数报错需安装Pillow

故障排查步骤
  • 环境路径不匹配问题(最高发原因)
    重装Python、更新PATH后仍报错,本质大多是依赖安装路径和当前运行脚本的解释器不匹配。全局pip命令可能会将包装到系统残留的旧Python、其他虚拟环境目录下,和当前执行脚本的解释器完全不互通。
    执行以下校验操作:
    1. 在运行目标Python代码的同一终端内,执行python -c "import sys; print(sys.executable)",确认打印的路径是你实际使用的Python 3.9安装目录,排除其他解释器抢优先级的问题。
    2. 使用步骤1打印的完整解释器路径调用pip重装所有依赖,彻底规避装错环境的问题。比如打印路径为C:\Python39\python.exe,就依次执行:
      C:\Python39\python.exe -m pip uninstall Pillow pyautogui opencv-python numpy -y
      C:\Python39\python.exe -m pip install Pillow opencv-python numpy pyautogui
      
  • 版本兼容性问题
    旧版本PyAutoGUI存在Pillow检测逻辑缺陷:即使安装了10.0及以上版本的Pillow,也会误报“需要安装Pillow”的错误。上述步骤中直接安装最新稳定版PyAutoGUI即可修复该问题;如果临时需要使用旧版本PyAutoGUI,就将Pillow降级到兼容版本:
    C:\Python39\python.exe -m pip install "Pillow==9.5.0"
    
  • 代码本身的语法/逻辑问题
    提供的示例代码存在多处问题,容易和依赖报错混淆:
    1. pyautogui.doubleClick(cord)行首多余缩进、代码末尾多余单引号,会直接触发语法报错,先修正代码格式问题。
    2. locateOnScreen如果在当前屏幕找不到匹配的chrome.png素材,会返回None,直接将None传入doubleClick方法会触发运行错误。建议增加存在性判断后再执行点击操作:
      import pyautogui
      cord = pyautogui.locateOnScreen('chrome.png')
      if cord:
          pyautogui.doubleClick(cord)
      
  • 最终有效性验证
    所有依赖重装完成后,在同一终端执行校验命令,确认Pillow可被正常调用:
    python -c "from PIL import Image; print('Pillow版本:', Image.__version__)"
    
    能正常打印版本号的前提下再运行业务代码,原有的Pillow依赖报错即可消除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 15:36:03