无法通过PHP导入PIL

时间:2018-11-18 05:22:18

标签: php python linux pip importerror

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

php正在运行,服务器中没有任何问题,但是当我通过浏览器访问php时,显示错误ImportError:No module named'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 个答案:

答案 0 :(得分:0)

必须为当前用户或root用户安装PIL,这可以通过使用subprocess或通过脚本本身来通过脚本本身安装来实现。

sudo pip install pillow

对于较早版本的pip(<10)pip.main(['install', package])也可以使用,但是使用子过程是更安全的选择。

这只是一种骇人听闻的方法,必须有更好的解决方法。