Библиотека Python Pillow не видна для localhost

Python Pillow доступен в моей локальной среде (python2.7), но когда я пытаюсь запустить скрипт python с помощью PHP внутри localhost, возвращается следующая ошибка, но я мог бы использовать другие библиотеки без проблем таким образом, а также Python Pillow без проблем работать локально.

Может ли кто-нибудь помочь

ajex (запрос)

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

    });

php (data.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
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
112
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предполагаю, что может возникнуть проблема с тем, где и как PIL установлен в вашей файловой системе. Например, PIL может быть установлен только для пользователя A, а ваш сценарий выполняется другим пользователем. Допустим, вы запускаете Nginx для веб-сервера. Затем ваш data.php shell_exec запускается от пользователя nginx, где PIL может быть установлен только для вашего пользователя localhost. (Предполагая, что вы используете Linux)

Более того, попробуйте вместо этого использовать Подушка:

pip install Pillow

В настоящее время поддерживается форк PIL (последний выпуск от 1 октября 2018 г.). Насколько мне известно, PIL больше не разрабатывается.

вы правы, видимо, подушка не видна www-data в моем env

DUK 31.10.2018 15:05

Другие вопросы по теме