首页 > 解决方案 > Python Pillow 库对 localhost 不可见

问题描述

Python Pillow 在我的本地环境(python2.7)中可用,但是当我尝试在 localhost 内使用 PHP 运行 python 脚本时,返回以下错误,但我可以以这种方式使用其他库而没有问题,Python Pillow 也可以正常工作本地发行。

谁能帮忙

ajax (请求)

 $.ajax({
              type: "POST",
              url: 'http:/localhost/simulator/data.php',
              dataType: "json",
                     success: function(out)
                     {
                      print("sucess!");
                      print(out);
                     }

    });

php(数据.php)

<?php

$result =  shell_exec('python ./index.py 2>&1 ');
echo json_encode($result);
?>

蟒蛇(index.py)

#!/usr/bin/env python
import sys,os,json,cv2,pickle
import PIL
from PIL import Image

if __name__ == '__main__':
    print("got")

错误

Traceback (most recent call last):
  File "./import.py", line 3, in <module>
    import PIL
ImportError: No module named PIL

标签: javascriptphppython-2.7python-imaging-library

解决方案


我猜可能在您的文件系统中安装 PIL 的位置和方式存在问题。例如,只能为用户 A 安装 PIL,并且您的脚本正在由另一个用户执行。假设您为 Web 服务器运行 Nginx。然后您的data.php shell_exec 从 nginx 用户运行,其中 PIL 可能仅为您的 localhost 用户安装。(假设您使用的是 Linux)

此外,请尝试改用Pillow

pip install Pillow

它目前是 PIL 的分支(最新版本 2018 年 10 月 1 日)。据我所知,PIL 不再被开发。


推荐阅读