Как исправить «_imaging C модуль не установлен» Django / WSGI / Apache - PullRequest
2 голосов
/ 18 июня 2011

Я запускаю свои тестовые сайты на своем домашнем компьютере, который, к сожалению, использует Windows.Теперь я пытаюсь сделать миниатюру изображения, но получаю ошибку:

The _imaging C module is not installed

Но только когда я пытаюсь получить доступ к представлению через сервер Apache.Миниатюры Runserver просто отлично.Я установил специальные предварительно скомпилированные двоичные файлы, на которые ссылались другие, но им не повезло.

Есть идеи, почему это работает в runserver / shell, но не в Apache?

Ответы [ 3 ]

0 голосов
/ 25 февраля 2012

У меня была такая же проблема в mod_wsgi на apache на windows server 2008. PIL загружался из моего virtualenv просто отлично, но не загружался в mod_wsgi, даже с верной версией msvcr90.dll в папке с файлами .pyd.

Ответ для меня связан с WINDOWS SXS HELL и патчем, созданным планировщиками.

Мне пришлось отредактировать мои distutils \ msvc9compiler.py и закомментировать одну строку (яиспользуя Python 2.7, он использовал 2.6.x), удалил папку сборки и пересобрал PIL, и все заработало.

http://groups.google.com/group/isapi_wsgi-dev/browse_thread/thread/03fa2b485ec2281d?pli=1

Я не знаю, кто он, но яЯ очень благодарен.

0 голосов
/ 31 июля 2013

1.Вы должны проверить _imaging.pyc или _imaging.dll или _imaging.so на вашем компьютере.

2.Существуйте! Сейчас, попробуйте import Image

3.Право!попробуйте import _imaging

, если ошибка, проверьте, что ваш компьютер 32-битный или 64-битный.

, если ваш компьютер 32-битный, вы должны установить какой-нибудь пакет, такой как PIL-1.1.7.win32-py2.5 http://effbot.org/downloads/PIL-1.1.7.win32-py2.5.exe

если у вас 64-битный компьютер, вы должны установить какой-то пакет, например PIL-1.1.7.win-amd64-py2.5, и вы можете найти здесь: http://www.lfd.uci.edu/~gohlke/pythonlibs/

4.Установите нужный пакет на сайт-упаковку, он будет работать

УДАЧИ!

0 голосов
/ 18 июня 2011

Вам необходимо указать путь к PIL и другим пакетам сайта по вашему пути в файле конфигурации .wsgi.Итак, сначала вам нужно найти местоположение ваших пакетов сайта (например: /usr/local/lib/python2.6/site-packages/), а затем добавить его в sys.path в вашем файле .wsgi.Пример WSGI:

import os, sys
sys.path.append('/home/www/sites/mysite', '/usr/local/lib/python2.6/site-packages/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
...