PIL-модуль ImportError на сервере Apache2 - PullRequest
0 голосов
/ 04 ноября 2018

Я получаю эту трассировку на моем сервере Apache2 при попытке загрузить изображение. Я использую Python 3.5.2 и Pillow 5.0.0 и Django 2.1.1 Мне удалось успешно загрузить изображения, когда я работаю на своем локальном хосте, но когда я загрузил этот код на сервер apache2, он дает эту трассировку. Подушка находится в requiremnts.txt, хотя. Нет, где в коде я явно пытаюсь импортировать PIL, но, кажется, вызывается.

Я попытался установить подушку и PIL. Я попытался удалить PIL, удалить подушку, я попытался переустановить оба. Кажется, ничего не работает.

View.py

from django.http import JsonResponse, HttpResponse
from django.shortcuts import render
from django.core import serializers
from manager.models import Manager, Inspection
from . import InspectorService
from . import InspectionService
import json
from .forms import InspectionImageForm

... more unrelevant code here ...

def upload_image(request):
    if request.method == 'POST':
        form = InspectionImageForm(request.POST, request.FILES)
        inspection_id = request.POST.get('inspection_id')
        if form.is_valid():
            m = Inspection.objects.get(id = inspection_id)
            m.image = form.cleaned_data['image']
            m.save()

            return JsonResponse({'error': False, 'message': 'Uploaded Successfully', 'location': m.image.name})
        else:
            return JsonResponse({'error': True, 'errors': form.errors})
    else:
        return JsonResponse({'error': True, 'errors': 'Post error'})

forms.py

from django import forms

class InspectionImageForm(forms.Form):
    image = forms.ImageField()
    inspection_id = forms.IntegerField()

Traceback

File "/opt/myenv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/opt/myenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "/opt/myenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/var/www/html/CMPUT401/computronix/manager/views.py" in upload_image
  119.         if form.is_valid():

File "/opt/myenv/lib/python3.5/site-packages/django/forms/forms.py" in is_valid
  185.         return self.is_bound and not self.errors

File "/opt/myenv/lib/python3.5/site-packages/django/forms/forms.py" in errors
  180.             self.full_clean()

File "/opt/myenv/lib/python3.5/site-packages/django/forms/forms.py" in full_clean
  381.         self._clean_fields()

File "/opt/myenv/lib/python3.5/site-packages/django/forms/forms.py" in _clean_fields
  397.                     value = field.clean(value, initial)

File "/opt/myenv/lib/python3.5/site-packages/django/forms/fields.py" in clean
  584.         return super().clean(data)

File "/opt/myenv/lib/python3.5/site-packages/django/forms/fields.py" in clean
  147.         value = self.to_python(value)

File "/opt/myenv/lib/python3.5/site-packages/django/forms/fields.py" in to_python
  613.         from PIL import Image

Exception Type: ImportError at /manager/upload_image/
Exception Value: No module named 'PIL'
...