Cannot import name '_imaging' from 'PIL'

Viewed 6684

I'm trying to run this code:

import pyautogui
import time
from PIL import _imaging
from PIL import Image
import pytesseract

time.sleep(5)
captura = pyautogui.screenshot()
codigo = captura.crop((872, 292, 983, 337))
codigo.save(r'C:\autobot_wwe_supercard\imagenes\codigo.png')
time.sleep(2)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program     
Files\Tesseract-OCR\tesseract'
print(pytesseract.image_to_string(r'D:\codigo.png'))

And this error pops up: ImportError: cannot import name 'imaging' from 'PIL' (C:\Users\Usuario\AppData\Roaming\Python\Python38\site-packages\PIL_init.py)

I installed pillow in console with pip install pillow

I installed pytesseract in console with pip install pytesseract

2 Answers

It appears as if a lot of PIL ImportErrors can simply be fixed by uninstalling and reinstalling Pillow again according to this source and your specific problem can be found here.

Try these three commands:

pip uninstall PIL
pip uninstall Pillow
pip install Pillow

I needed Pillow in PyCharm with Python3.9. Pillow was installed in Python3.8. Perhaps as user. PyCharm could find it with Py3.8, but not with Py3.9

This solved it for me:

sudo python3.9 -m pip install Pillow --upgrade

Upgrade it as sudo with that python version, which the script shall run with. Maybe, sudo is not needed, if you want to run it only in a virtual environment or as actual user.

Related