Python — Невозможно импортировать PIL через переполнение стека

<?php
echo exec("python txt_img.py admin 2>&1");
highlight_file(__FILE__);
?>

Php работает без проблем на сервере, но когда я захожу на php через браузер, появляется ошибка ImportError: нет модуля с именем ‘PIL’.
Код Python также работает без проблем на сервере.

# desired size
import random
import sys
from PIL import Image, ImageDraw, ImageFont
img = random.randint(1,10)
image = Image.open(str(img)+'.jpeg')

# initialise the drawing context with
# the image object as background

draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial.ttf',100)
# starting position of the message
(x, y) = (100,70)
name = sys.argv[1]
color = 'rgb(0,0,0)'
draw.text((x, y), "Welcome "+name, fill=color,font=font)
# save the edited image
img= random.randint(1,10)
img = "greet_"+str(img)+".jpeg"image.save(img)
print(img)

Заранее спасибо.

1

Решение

PIL должен быть установлен для текущего пользователя или для пользователя root, чего можно добиться, установив его через сам скрипт, используя subprocess или

sudo pip install pillow

Для более ранних версий pip (<10) pip.main(['install', package]) может также работать, но использование подпроцесса является более безопасной ставкой.

Это просто хакерский способ сделать это, должны быть лучшие способы обойти это.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]