Apache2服务器上的PIL模块ImportError

时间:2018-11-03 22:43:13

标签: django apache2 python-imaging-library python-3.5

当我尝试上传图像时,我在Apache2服务器上得到了这种追溯。我正在使用Python 3.5.2和Pillow 5.0.0和Django 2.1.1 当我在本地主机上工作时,我能够成功上传图像,但是当我将此代码上传到apache2服务器时,它将提供此回溯。枕头在requiremnts.txt中。我没有在代码中明确尝试导入PIL,但似乎已被调用。

我尝试安装Pillow和PIL。我尝试卸载PIL,卸载Pillow,并尝试重新安装两者。似乎没有任何作用。

  

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()
  

追踪

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'

0 个答案:

没有答案