Установка Библиотеки обработки изображений Python (PIL) на Snow Leopard с обновленным Python 2.6.2

Независимо от того, что Вы решаете использовать, сравнить Вашей рабочей нагрузки с простыми блокировками, поскольку блокировки чтения-записи имеют тенденцию быть 3-40x медленнее, чем простое взаимное исключение, когда нет никакой конкуренции.

Вот некоторая ссылка

26
задан Mike Lawrence 26 December 2012 в 16:57
поделиться

8 ответов

Python python.org был создан с использованием более ранней версии gcc. Попробуйте использовать gcc-4.0 вместо SL по умолчанию 4.2:

export CC=/usr/bin/gcc-4.0

См. Аналогичную проблему здесь .

Это решает проблему stdarg. В дальнейшем вы можете столкнуться с проблемами сборки с различными зависимыми библиотеками.

BTW, gcc-4.0 и gcc-4. 2 включены в Xcode 3 Snow Leopard, поэтому никаких дополнительных установок не требуется.

ОБНОВЛЕНО 2011-05: Обратите внимание, что более новый Xcode 4 выпущен для экспериментального использования с 10.6 и ожидается, что он будет стандартным с 10.7, больше не включает поддержку PPC, поэтому, если вы установите Xcode 4, это предложение не сработает. Варианты включают использование более новых 64-битных / 32-битных установщиков Python 2.7.x с python.org или установку более новых Python 2.6 и PIL и различных сторонних библиотек с использованием MacPorts, Homebrew или Fink.

это предложение не сработает. Варианты включают использование более новых 64-битных / 32-битных установщиков Python 2.7.x с python.org или установку более новых Python 2.6 и PIL и различных сторонних библиотек с использованием MacPorts, Homebrew или Fink.

это предложение не сработает. Варианты включают использование более новых 64-битных / 32-битных установщиков Python 2.7.x с python.org или установку более новых Python 2.6 и PIL и различных сторонних библиотек с использованием MacPorts, Homebrew или Fink.

11
ответ дан 28 November 2019 в 07:16
поделиться

Возможно, вам стоит попробовать предварительно собрать универсальные двоичные файлы с сайта pythonmac

http://pythonmac.org/packages/py25-fat/index.html

Это для python2 .5, с включенным python2.5 (так что вы можете использовать его, а может и не использовать), я использую его, так как у меня возникла проблема с самостоятельной сборкой PIL с py2app.

1
ответ дан 28 November 2019 в 07:16
поделиться

Мне кажется, что сообщение «Нет такого файла» связано с stdarg.h - самая интересная ошибка. Кажется, отсутствует заголовочный файл. Я не знаю, как убедиться, что он установлен в OS X, так что это только половина ответа, извините за это, но, возможно, это подтолкнет вас в правильном направлении.

1
ответ дан 28 November 2019 в 07:16
поделиться

Установлен ли у вас XCode (поставляется на диске Snow Leopard)? Необходимо установить некоторые ключевые компоненты (в первую очередь GCC ), которые XCode обрабатывает за вас.

0
ответ дан 28 November 2019 в 07:16
поделиться

Измененный ответ

Вот шаги, которые я предпринял для успешной установки PIL в Mac OS X 10.6 (без использования MacPorts или Fink).

  1. Установить readline

     cd ~ / src
    curl -O ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz
    tar -xvzf readline-6.0.tar.gz
    компакт-диск readline-6.0
    ./configure 
    сделать 
    sudo make install
    
  2. Установить gbdm

     cd ~ / src
    curl -O ftp://mirror.anl.gov/pub/gnu/gdbm/gdbm-1.8.3.tar.gz
    tar -xvzf gbdm-1.8.3.tar.gz
    компакт-диск gdbm-1.8.3
    # Необходимо изменить Makefile.in
    perl -pi -e 's / BINOWN = bin / BINOWN = root /' Makefile.in
    perl -pi -e 's / BINGRP = bin / BINGRP = wheel /' Makefile.in
    ./configure
    сделать
    sudo make install
    
  3. Скомпилируйте последнюю версию Python 2.6.2+ из Mercurial Repo

     cd ~ / development
    hg clone http://code.python.org/hg/branches/release2.6-maint/ python-release2.6-maint.hg
    cd python-release2.6-main.hg
    ./configure --enable-framework MACOSX_DEPLOYMENT_TARGET = 10.6
    сделать
    sudo make frameworkinstall
    

    Примечание : я получил следующие ошибки после запуска make . Однако я продолжил, так как я не беспокоился о пропаже этих модулей, и мне удалось успешно установить PIL.

     Не удалось найти необходимые биты для сборки этих модулей:
    _bsddb dl imageop 
    linuxaudiodev ossaudiodev spwd 
    Sunaudiodev 
    Чтобы найти необходимые биты, посмотрите в setup.py в detect_modules () имя модуля.
    
    
    Не удалось собрать эти модули:
    Nav 
    
    запуск build_scripts
    
  4. Обновите .bash_profile для нового Python 2.6.2+ и для virtualenvwrapper

     # Задайте PATH для MacPython 2.6, если установлен Python2.6
    если [-x /Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6]; тогда
     PATH = "/ Library / Frameworks / Python.framework / Versions / 2.6 / bin: $ {PATH}"
     экспорт ПУТЬ
    фи
    
    # MDR 23 апреля 2009 г .: Добавлено для virtualenvwrapper
    если [-x /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc]; тогда
     экспорт WORKON_HOME = $ HOME / .virtualenvs
     экспорт PIP_VIRTUALENV_BASE = $ WORKON_HOME
     источник /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc
    фи
    
  5. Установите easy_install, pip, virtualenv и virtualenvwrapper для Python 2.6.2+.

     curl -O http://peak.telecommunity.com/dist/ez_setup.py
    sudo python ez_setup.py
    sudo easy_install pip
    sudo easy_install virtualenv
    sudo easy_install virtualenvwrapper
    
  6. Создайте virtualenv, а затем используйте pip для установки PIL

     mkvirtualenv pil-test
    cdvirtualenv
    easy_install pip
    pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz
    

Примечание : мне не удалось установить PIL с помощью pip install pil , поэтому я установил его по URL-адресу, как показано выше.

Исходный ответ

Из того, что я вижу в ваш файл pip-log.txt , похоже, вы установили Python 2.6.2 с помощью образа диска установщика Mac с Python.org, выпущенного 16 апреля 2009 г. Вы можете это подтвердить?

Из журнала пакетов: gcc завершился неудачно со статусом выхода 1. Оскорбительная команда gcc из вашего журнала пакетов выглядит следующим образом:

gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.6/include -I/usr/local/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _imaging.c -o build/temp.macosx-10.3-fat-2.6/_imaging.o

Похоже, это проблема, связанная с тем, что Snow Leopard изменил значение по умолчанию. для флага -arch от i386 до x86-64 согласно Рональду Уссорену в сообщении 92083 из Python Issue 6802 . Доступен патч Python 2.6.2, но он не был интегрирован в образ диска установщика Mac.

Лучшим решением, не использующим MacPorts или Fink, вероятно, будет компиляция и установка Python из ветки выпуска 2.6 из репозитория Mercurial Python или репозиторий Subversion Python . Согласно сообщению 92315 из Issue 6802 , Рональд Уссорен исправил это в версии r74686 .

Я встречал похожие ошибки при использовании Python 2.6.2, установленного из образа диска Mac, при попытке затем установить Fabric в virtualenv, поэтому я планирую скомпилировать и установить из ветки обслуживания выпуска 2.6. Если хотите, я обновлю, когда это удастся.

С помощью MacPorts или Fink, вероятно, будет скомпилировать и установить Python из ветки выпуска 2.6 из репозитория Mercurial Python или Subversion Python Repository . Согласно сообщению 92315 из Issue 6802 , Рональд Уссорен исправил это в версии r74686 .

Я встречал похожие ошибки при использовании Python 2.6.2, установленного из образа диска Mac, при попытке затем установить Fabric в virtualenv, поэтому я планирую скомпилировать и установить из ветки обслуживания выпуска 2.6. Если хотите, я обновлю, когда это удастся.

С помощью MacPorts или Fink, вероятно, можно было бы скомпилировать и установить Python из ветки выпуска 2.6 из репозитория Mercurial Python или Subversion Python Repository . Согласно сообщению 92315 из Issue 6802 , Рональд Уссорен исправил это в версии r74686 .

Я встречал похожие ошибки при использовании Python 2.6.2, установленного из образа диска Mac, при попытке затем установить Fabric в virtualenv, поэтому я планирую скомпилировать и установить из ветки обслуживания выпуска 2.6. Если хотите, я обновлю, когда это удастся.

Согласно сообщению 92315 из Issue 6802 , Рональд Уссорен исправил это в версии r74686 .

Я встречал похожие ошибки при использовании Python 2.6.2, установленного из образа диска Mac, при попытке затем установить Fabric в virtualenv, поэтому я планирую скомпилировать и установить из ветки обслуживания выпуска 2.6. Если хотите, я обновлю, когда это удастся.

Согласно сообщению 92315 из Issue 6802 , Рональд Уссорен исправил это в версии r74686 .

Я встречал похожие ошибки при использовании Python 2.6.2, установленного из образа диска Mac, при попытке затем установить Fabric в virtualenv, поэтому я планирую скомпилировать и установить из ветки обслуживания выпуска 2.6. Если хотите, я обновлю, когда это удастся.

7
ответ дан 28 November 2019 в 07:16
поделиться

Я нашел способ попроще. sudo порт установить python26 sudo port install python_select

Затем используйте python_select, установите python26 по умолчанию.

Затем просто установите PIL как обычно.

1
ответ дан 28 November 2019 в 07:16
поделиться

Мне удалось установить PIP с Python SL, используя следующие инструкции:

http://jetfar.com/libjpeg-and-python-imaging-pil-on-snow-leopard/

1
ответ дан 28 November 2019 в 07:16
поделиться

Проблема, с которой я столкнулся, была что PIL компилируется с архитектурой PowerPC (-arch ppc).

Сделайте это перед установкой / сборкой / компиляцией:

export ARCHFLAGS="-arch i386"

(Предполагается, что вы используете i386)

18
ответ дан 28 November 2019 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: