Проблема с питоном PIL - PullRequest
       4

Проблема с питоном PIL

2 голосов
/ 28 января 2012

Привет! Я пытаюсь использовать PIL, чтобы иметь возможность загружать изображения на мой сайт django через интерфейс администратора.

Вот результат теста, который я провел после того, как установил PIL:

cfarm:Imaging-1.1.7 christopherfarm$ python selftest.py 
--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from /Library/Python/2.6/site-packages/PIL
--------------------------------------------------------------------
*** PIL CORE support not installed
*** TKINTER support not installed
*** JPEG support not installed
--- ZLIB (PNG/ZIP) support ok
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------
Running selftest:
*****************************************************************
Failure in example:
try:
 _info(Image.open(os.path.join(ROOT, "Images/lena.jpg")))
except IOError, v:
 print v
from line #24 of selftest.testimage
Expected: ('JPEG', 'RGB', (128, 128))
Got: decoder jpeg not available
1 items had failures:
   1 of  57 in selftest.testimage
***Test Failed*** 1 failures.
*** 1 tests of 57 failed.

Я немного новичок, когда дело доходит до этого, есть ли способ получить всеподдерживаемые типы?Я также попытался загрузить файл .png, но он все еще не работал.Я получаю ошибку: Upload a valid image. The file you uploaded was either not an image or a corrupted image.

Также при попытке запустить sudo python setup.py build я получаю следующую ошибку:

cfarm:Imaging-1.1.7 christopherfarm$ sudo python setup.py build
running build
running build_py
running build_ext
--- using frameworks at /System/Library/Frameworks
building '_imaging' extension
creating build/temp.macosx-10.6-universal-2.6
creating build/temp.macosx-10.6-universal-2.6/libImaging
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/opt/local/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _imaging.c -o build/temp.macosx-10.6-universal-2.6/_imaging.o
_imaging.c:3017: warning: initialization from incompatible pointer type
_imaging.c:3077: warning: initialization from incompatible pointer type
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
_imaging.c:3017: warning: initialization from incompatible pointer type
_imaging.c:3077: warning: initialization from incompatible pointer type
l_imaging.c:3281: fatal error: error writing to -: Broken pipe
compilation terminated.
_imaging.c:3017: warning: initialization from incompatible pointer type
_imaging.c:3077: warning: initialization from incompatible pointer type
^R
lipo: can't open input file: /var/tmp//ccuPSrVi.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1

Похоже, что-то не так с указателем?

Ответы [ 3 ]

6 голосов
/ 28 января 2012

Вы должны установить поддержку JPEG, например, в Mac, если вы используете homebrew, просто:

brew install jpeg

или для Ubuntu

sudo apt-get install libjpeg62-dev

Возможно, вам потребуется связать установленную библиотеку, чтобы при компиляции PIL она знала, где искать поддержку JPEG. Это будет то же самое для других не поддерживаемых библиотек.

Существует еще одна опция, называемая подушкой, вы можете посмотреть здесь: http://pypi.python.org/pypi/Pillow

Он просто обрабатывает некоторые вещи проще, чем PIL. Также проверьте это

0 голосов
/ 29 января 2012

Если brew не работает для libjpeg, есть хороший пакет libjpeg, который вы можете скачать. Я написал об этом здесь:

http://markliu.me/2011/aug/20/installing-libjpeg-and-pil-on-osx-snow-leopard-wit/

0 голосов
/ 29 января 2012

Возможно, вам нужно отредактировать файл setup.py в вашем исходном пакете и добавить соответствующие пути к месту установки библиотеки jpeg перед сборкой и установкой PIL. Инструкции по установке, предоставленные в источнике PIL, могут быть полезны.

...