Не удается найти модуль PIL при использовании объявленного класса
Я написал простой скрипт на Python с подушкой для создания сетки на изображении 1024x256.
Затем я определяю класс, который больше похож на набор функций.
class Letters:
COLOR_GREEN = (0, 255, 0)
COLOR_BLUE = (0, 0, 255)
COLOR_BLACK = (0, 0, 0)
class A:
margin_top = 64
margin_bottom = 64
section_margin_empty = 16
section_margin_filled = [i for i in range(0, 15)]
@staticmethod
def draw(pixelarray, margin_left):
draw_range_height = [i for i in range(margin_bottom, 256 - (6 * 16))]
draw_range_width = [i for i in range(margin_left, margin_left + 15)]
for j in draw_range_width:
for i in draw_range_height:
if pixelarray[j, i] == (0, 0, 0):
pixelarray[j, i] = COLOR_GREEN
return pixelarray
Но проблема, похоже, не в классе...
Мой основной код таков:
from PIL import Image
import os
if os.path.exists("banner.png"):
img = Image.open("banner.png")
else:
img = Image.new("RGB", (1024, 256), "black")
WIDTH, HEIGHT = img.size
pixels = img.load()
for i in range(0, HEIGHT):
for j in range(0, WIDTH):
if j % 16 == 0:
pixels[j, i] = (0, 0, 255)
else:
if i % 16 == 0:
pixels[j, i] = (0, 0, 255)
else:
pixels[j, i] = (0, 0, 0)
pixels = Letters.A.draw(pixels, 33) # <= Error is here
img.save("banner.png")
Почему-то, когда я пытаюсь использовать функцию Letters.A.draw()
сценарий вылетает в строке 1 с ImportError: Module PIL not found!
Почему это не работает, когда у меня есть эта строка, но когда я удаляю ее, она работает нормально??
Точное сообщение об ошибке:
Traceback (most recent call last):
File "msp.py", line 1, in <module>
from PIL import Image
ImportError: No module named PIL
1 ответ
По-видимому, это проблема с IDE. С инструментами Python VisualStudio 2017 это не сработало, но с LiCLipse это сработало. Странная вещь, но использование LiClipse помогло мне.