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

MacOS下PyAutoGUI查找屏幕图片报错:'<' not supported between instances of 'str' and 'int'

MacOS下PyAutoGUI查找屏幕图片报错:'<' not supported between instances of 'str' and 'int'

嗨,这个问题我之前踩过坑!这其实是PyAutoGUI依赖的pyscreeze库在处理PIL(Pillow)版本号时的一个小bug,具体原因是代码里把PIL版本号的字符串片段直接和整数做比较了——比如你的PIL版本号是类似"9.1.0"这样的字符串,拆分成元组后每个元素都是字符串类型,和(6, 2, 1)里的整数元素自然没法用<比较,就抛出了你看到的类型错误。

给你两个解决办法:

  • 方法一:升级pyscreeze到最新版本
    这个bug已经在后续版本的pyscreeze里修复了,直接执行升级命令就行:

    pip install --upgrade pyscreeze
    

    升级完之后再运行你的代码,应该就能正常获取图片坐标了。

  • 方法二:手动修改pyscreeze的代码(如果暂时没法升级)
    找到报错文件的路径:/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyscreeze/__init__.py,打开它找到_screenshot_osx函数里的这段代码:

    if tuple(PIL__version__) < (6, 2, 1):
    

    把它改成下面这样,把版本号的每个片段转换成整数再比较:

    if tuple(map(int, PIL__version__.split('.'))) < (6, 2, 1):
    

    保存文件后重新运行代码,错误就会消失。

另外提个小建议:如果之后还是找不到图片,可以检查下name.png是不是在你的代码运行的当前工作目录里,或者直接用绝对路径指定图片位置,比如/Users/cliente/Documents/Personal/dofusBot/name.png,这样更稳妥。

备注:内容来源于stack exchange,提问作者Lucas Coimbra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:57:59