代码之家  ›  专栏  ›  技术社区  ›  DUK

Python库对localhost不可见

  •  0
  • DUK  · 技术社区  · 7 年前

    Python Pillow在我的本地环境(python2.7)中可用,但是当我尝试使用PHP在localhost内部运行Python脚本时,返回以下错误,

    有人能帮忙吗

    阿杰克斯 (请求)

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

    菲律宾比索 (data.php)

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

    python

    #!/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
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Raoslaw Szamszur    7 年前

    我想在文件系统中安装PIL的位置和方式可能有问题。例如,只能为用户A安装PIL,并且您的脚本正在由另一个用户执行。假设您为web服务器运行Nginx。然后你的 数据.php shell\u exec从nginx user运行,在nginx user中,PIL可能只为localhost用户安装(假设您使用的是Linux)

    Pillow 取而代之的是:

    pip install Pillow
    

    目前由PIL(最新版本2018年10月1日)维护。据我所知,PIL已经不再被开发。

    推荐文章