PyAutoGUI was unable to import pyscreeze

Недавно начал писать программу-сканер для своего проекта. Она смотрит, есть ли на выбранной области экрана определенный объект (картинка), и при наличии его нажимается определенная клавиша. В общем, ниже код:

import cv2
import numpy as np
import pyautogui
import time

# Функция для нахождения картинки на экране
def find_image(target_img, screen_img):
    result = cv2.matchTemplate(screen_img, target_img, cv2.TM_CCOEFF_NORMED)
    return np.where(result >= 0.8)  # Порог для совпадения

# Параметры области захвата экрана
capture_area = (320, 830, 900, 900)  # (x, y, width, height)

# Загрузка изображения для поиска
target_image = cv2.imread('red.png')  # Изображение, которое ищем
key_to_press = 'left'  # Клавиша, которую нужно нажать

while True:
    # Захват экрана
    screenshot = pyautogui.screenshot(region=capture_area)
    screen_image = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)

    # Поиск изображения на экране
    locations = find_image(target_image, screen_image)

    if len(locations[0]) > 0:
        print("Изображение найдено!")
        pyautogui.press(key_to_press)  # Нажимаем клавишу
        time.sleep(1)  # Задержка, чтобы не нажимать слишком быстро

    time.sleep(0.1)  # Задержка перед следующим сканированием

Настроил область захвата, выбрал картинку. (Вот директория с программой, в ней картинки: https://imgur.com/wLOdnFt)

При запуске появляется такая ошибка:

Traceback (most recent call last):
  File "C:\Users\Rodion\Desktop\scaner\scaner.py", line 20, in <module>
    screenshot = pyautogui.screenshot(region=capture_area)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rodion\Desktop\scaner\.venv\Lib\site-packages\pyautogui\__init__.py", line 228, in _couldNotImportPyScreeze
    raise PyAutoGUIException(
pyautogui.PyAutoGUIException: PyAutoGUI was unable to import pyscreeze. (This is likely because you're running a version of Python that Pillow (which pyscreeze depends on) doesn't support currently.) Please install this module to enable the function you tried to call.

Process finished with exit code 1

Прочитал, что то с версией pillow и python. У меня версия python 3.12, версия pillow 10.4.0 Подскажите, пожалуйста, кто знает, что делать, в чем ошибка?


Ответы (2 шт):

Автор решения: Родион

Попробуйте переустановить библиотеки, используемые в программе. Откройте командную строку и напишите следующие команды:

pip uninstall pyautogui
pip uninstall pyscreeze
pip install pyautogui

Это должно помочь.

→ Ссылка
Автор решения: кот

в новых версиях (наверное с 11 работает чутка хуже)

import pyautogui 
import os 
import pyscreeze 
import cv2

pyautogui.FAILSAFE = True
bur = pyautogui.locateOnScreen('s17_t.jpg', confidence=0.9)

крч обязательно нужно подключать cv2 и параметр confidence=0.9

→ Ссылка