3

Я пытаюсь установить PIL на Snow Leopard, используя Python 2.6.1, GCC 4.2.1, PIL 1.1.7, и попытался с libjpeg6b и libjpeg7 - ничего работает. Я очистил все следы libjpeg/pil/zlib от fink, попробовал различные параметры компилятора и т. Д. И использовал http://jetfar.com/libjpeg-and-python-imaging-pil-on-snow-leopard/ и http: // www.brambraakman.com/blog/comments/installing_pil_in_snow_leopard_jpeg_resync_to_restart_error/ (не ссылка, потому что только StOv позволяет мне размещать один ...)Установка PIL на Snow Leopard - НИЧЕГО РАБОТЫ

4 бита потенциально полезной информации:

OTOOL не показывает libjpeg как зависимость

otool -L /Library/Python/2.6/site-packages/PIL/_imaging.so 
/Library/Python/2.6/site-packages/PIL/_imaging.so: 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0) 

я получаю эти странные сообщения компилятора

i686-apple-darwin10-gcc-4.2.1: -framework: linker input file unused because linking not done 
i686-apple-darwin10-gcc-4.2.1: Tcl: linker input file unused because linking not done 
i686-apple-darwin10-gcc-4.2.1: -framework: linker input file unused because linking not done 
i686-apple-darwin10-gcc-4.2.1: Tk: linker input file unused because linking not done 
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 -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/sw/include/freetype2 -I/sw/include -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 Tk/tkImaging.c -o build/temp.macosx-10.6-universal-2.6/Tk/tkImaging.o -framework Tcl -framework Tk 
In file included from /System/Library/Frameworks/Tk.framework/Headers/tk.h:78, 
       from Tk/tkImaging.c:51: 

selftest.py терпит неудачу из-за _imagingmath (после того, как я использовал второе звено, приведенные выше, прежде чем он тоже не удалось из-за _imaging)

Themistocles:Imaging-1.1.7 me$ python selftest.py 
Traceback (most recent call last): 
    File "selftest.py", line 11, in <module> 
    from PIL import ImageMath 
    File "./PIL/ImageMath.py", line 19, in <module> 
    import _imagingmath 
ImportError: No module named _imagingmath 

Все, но selftest.py терпит неудачу из-за _imaging

>>> import _imaging 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart 
    Referenced from: /Library/Python/2.6/site-packages/PIL/_imaging.so 
    Expected in: flat namespace 
in /Library/Python/2.6/site-packages/PIL/_imaging.so 

Пожалуйста, пожалуйста, помогите! Это становится смешным. Я даже был бы рад возможности скомпилировать поддержку PIL sans jpeg на этом этапе!

ответ

1

Скачать macport:

http://www.macports.org/install.php 

Затем используйте его для PIL:

http://trac.macports.org/browser/trunk/dports/python/py-pil/Portfile 

У меня также было много проблем с этим, но порт удалось.

+0

Должен ли я удалить копии libjpeg/PIL, что я получил установлен? –

+0

Hang on, делает macports, хочет установить свой собственный Python, или он будет хорошо играть с системным? –

+0

Я уже установил новый питон, когда я его запустил, поэтому я не совсем уверен. он может захотеть переустановить кучу вещей, которые уже есть, я никогда не использовал их вместе. – eruciform

0

При попытке установить PIL я всегда получал несколько экранов gcc-ошибок. В какой-то момент у меня что-то работает (возможно, через MacPorts), поэтому теперь мое решение - скопировать его в соответствующие пакеты сайтов (например, внутри нового virtualenv).

Я просто разместил его здесь: http://blogmaker.com/PIL-1.1.6-for-MacOSX-10.5-Leopard.zip

работает для меня; Я не знаю, будет ли это работать для кого-то еще! Не стесняйтесь обращаться ко мне с предложениями. И, дайте мне знать, есть ли лучшее место, которое я должен опубликовать. PIL оба очень крутые и королевские хлопоты; было бы неплохо иметь окончательное место для поддержки. Есть другие проблемы, связанные с PIL, которые я никогда не решал.

+0

Обновление для людей, которые находят это сообщение с помощью поиска: есть также вилка PIL под названием Pillow, цель которой проста в установке. См. Http://pypi.python.org/pypi/Pillow/ (я не тестировал его, но в следующий раз я должен установить.) –

5

Недавно я написал статью о том, как получить PIL, Джанго, libjpeg работать хорошо вместе Snow Leopard

http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/

Я скопировать его здесь для вас тоже.

Если у вас его нет в наличии.

http://www.ijg.org/files/jpegsrc.v7.tar.gz

идти в среде оболочки и распакуйте с помощью следующей

tar -zxvf jpegsrc.v7.tar.gz
cd jpeg-7

затем запустить

sudo make clean
sudo CC="gcc -arch i386”"./configure --enable-shared --enable-static
sudo make
sudo make install

Следующая получить PIL и распаковку это

http://effbot.org/downloads/Imaging-1.1.6.tar.gz
tar -zxvf Imaging-1.1.6.tar.gz
cd Imaging-1.1.6

Если вы уже есть PIL, я бы reco mmend running

sudo rm -Rf build

для очистки любых существующих сборок, это вызвало у меня массу ошибок и седых волос!

в вашем settings.py файле перспективе найти JPEG_ROOT

изменить его, так это выглядит следующим образом

JPEG_ROOT = libinclude(“/usr/local”)

Далее движение на сборку

sudo python setup.py build

если libjpeg успешно установлена, вы должны иметь возможность запускать python selftest.py без ошибок, связанных с «jpeg»

sudo python setup.py install

если все работает успешно, вы должны быть в состоянии ввести свой интерпретатор питона, выполнив питон в командной строке, а также выполнить следующие действия:

import PIL
import Image
import _imaging

без каких-либо ошибок.

Просто для тройной проверки У меня есть простой jpeg на моем рабочем столе.

image = Image.open(“/Users/MyName/Desktop/myimage.jpeg”)
image.save(“/Users/MyName/Desktop/test.jpeg”)

должен работать без ошибок

+1

+11111 !!! следуя приведенным выше инструкциям (сначала позаботиться об уничтожении ранее существовавшей установки libjpeg), я был окончательным успешным решением для меня после многих сбоев. Для других я также получил 'ImportError: No module с именем _imagingmath' при запуске selftest.py, но это, похоже, не имеет значения, потому что, наконец, я могу «импортировать _imaging» без ошибки _jpeg_resync_to_restart – Anentropic

+0

argh, no! Я все еще получаю 'IOError: декодер jpeg недоступен' ... отрывает мои волосы! – Anentropic

+1

ах да! Я забыл сделать команду 'sudo make install' на libjpeg, снова начал с нуля, и это действительно работает сейчас. здоровье восстановлено! – Anentropic

Смежные вопросы