提问人:Lucas Coimbra 提问时间:8/10/2023 最后编辑:Mikael ÖhmanLucas Coimbra 更新时间:8/11/2023 访问量:179
pyautogui 在 MacOS 上不起作用(“str”和“int”的实例之间不支持“<”)
pyautogui not working on MacOS ('<' not supported between instances of 'str' and 'int')
问:
我正在尝试在 MacOS 上使用 pyautoGUI 在屏幕上查找图像。我使用的代码如下:
import pyautogui
img = 'name.png'
img = pyautogui.locateCenterOnScreen(img)
谁能帮我?我期望得到图像的坐标,但我得到了错误:
Traceback (most recent call last):
File "/Users/cliente/Documents/Personal/dofusBot/bot.py", line 9, in <module>
img = pyautogui.locateCenterOnScreen(img)
File "/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyautogui/__init__.py", line 172, in wrapper
return wrappedFunction(*args, **kwargs)
File "/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyautogui/__init__.py", line 204, in locateCenterOnScreen
return pyscreeze.locateCenterOnScreen(*args, **kwargs)
File "/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyscreeze/__init__.py", line 420, in locateCenterOnScreen
coords = locateOnScreen(image, **kwargs)
File "/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyscreeze/__init__.py", line 375, in locateOnScreen
screenshotIm = screenshot(
File "/Users/cliente/miniconda/envs/analytics/lib/python3.10/site-packages/pyscreeze/__init__.py", line 527, in _screenshot_osx
if tuple(PIL__version__) < (6, 2, 1):
TypeError: '<' not supported between instances of 'str' and 'int'
答:
1赞
Mikael Öhman
8/11/2023
#1
这看起来像是 pyscreeze 中的一个“错误”,因为它跟不上过去几年对 Pillow 库 (PIL) 的更新,并且对该库中版本变量的定义方式做出了错误的假设。
pyscreeze 的开发人员似乎在 2 个月前在提交 eeca245a135cf171c163b3691300138518efa64e 中解决了这个问题,但尚未发布任何新版本。你可以从源代码安装 pyscreeze,或者只是偷偷地修补你的安装(它只是一个文件)。__init__.py
如果您将 Pillow 降级几个版本,它也可能有效(但我不确定您需要走多远。大概不超过 6.2.1,但那是 4 年的历史)。
评论