javascript - 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
解决方案
我猜可能在您的文件系统中安装 PIL 的位置和方式存在问题。例如,只能为用户 A 安装 PIL,并且您的脚本正在由另一个用户执行。假设您为 Web 服务器运行 Nginx。然后您的data.php shell_exec 从 nginx 用户运行,其中 PIL 可能仅为您的 localhost 用户安装。(假设您使用的是 Linux)
此外,请尝试改用Pillow:
pip install Pillow
它目前是 PIL 的分支(最新版本 2018 年 10 月 1 日)。据我所知,PIL 不再被开发。
推荐阅读
- reactjs - 如何在 ReactJs 中以编程方式设置 SCSS 变量值
- angular - TypeError:无法读取 null 的属性“getFullYear”(角度)
- http - 当我们有可用的 post 方法并且我们可以使用 post 方法执行相同的工作时,为什么我们使用 put patch delete?
- angular - 无法绑定到“chartType”,因为它不是 angular12 的“canvas”的已知属性
- android - 空指针异常尝试在空对象引用android studio上调用虚拟方法
- docker - Docker 撰写关键字
- input - 让用户从图库中选择图像或从手机上的相机拍照
- python - Bresenham 算法“类型错误:‘系列’对象不能解释为整数”
- java - 根据条件成员从休眠中获取元素集合
- python - Pandas 列中的嵌套 Json