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