Django говорит: «Модуль _imaging C не установлен», когда я пытаюсь добавить изображения в записи базы данных - PullRequest
0 голосов
/ 18 июня 2020

Я работаю на сервере ubuntu, и это мой первый проект веб-разработки, основанный на django. После того, как я разместил сайт с помощью apache2, mod_wsgi , сайт работает, но я столкнулся с двумя проблемами:

1) Все пользователи и другие записи в базе данных были потеряны. Я пробовал makemigrations и миграцию, но это не помогло.

2) Я попытался снова добавить все записи, но теперь возникла проблема с добавлением изображений в ImageField в базах данных с помощью Pillow модуль. Там написано Модуль _imaging C не установлен . Ошибка возникает на сайтах- packages \ PIL \ Image.py (я использую virtualenv) где-то около строки 93, которая является from . import _imaging as core.

Python версия : 3.7, django версия: 3.0, версия ubuntu: 18

Вот все исправления, которые я пробовал:

1) Изменена строка 93 в PIL / Image.py с from . import _imaging as core до from PIL import _imaging as core. Без изменений, ошибка все равно возникает .

2) Пробовал установить libjpeg со следующим кодом - sudo apt-get install libjpeg-dev. Оказалось, что он у меня уже был глобально.

3) Изменил расположение каталога virtualenv где-то внутри / var / www / на / usr / local /, потому что где-то я читал, что могут быть проблемы с разрешениями, и файлы внутри / usr / local / доступны всем пользователям. Это тоже не сработало.

4) В wsgi.py внутри проекта я добавил путь к моему virtualenv (sys.path.append('/usr/local/rupyakenv/lib/python3.7/site-packages')), а также путь к PIL (sys.path.append('/usr/local/rupyakenv/lib/python3.7/site-packages/PIL')) внутри Venv. По-прежнему сохраняется та же ошибка.

5) Я проверил файлы внутри библиотеки PIL, и у них есть следующие имена, начинающиеся с «_imaging»:

    sites-packages/PIL -->
        ...
        _imaging.cpython-37m-x86_64-linux-gnu.so
        _imagingcms.cpython-37m-x86_64-linux-gnu.so
        _imagingft.cpython-37m-x86_64-linux-gnu.so
        _imagingmath.cpython-37m-x86_64-linux-gnu.so
        _imagingmorph.cpython-37m-x86_64-linux-gnu.so
        _imagingtk.cpython-37m-x86_64-linux-gnu.so
        ...    

Я все еще не смог решить Это. Кто-нибудь может мне помочь? спасибо

...