Установка Python Imaging Library (PIL) на Snow Leopard с обновленным Python 2.6.2

StackOverflow https://stackoverflow.com/questions/1438270

Вопрос

У меня свежая установка Snow Leopard (запущенная с удаленного диска) с инструментами разработчика, установленными во время установки Snow Leopard.

Затем я установил Python 2.6.2, заменив стандартную версию Snow Leopard 2.6.1. Я пытался установить PIL с помощью:

<Ол>
  • <код> easy_install
  • <код> пип
  • загрузка исходного кода и запуск python setup.py build вручную.
  • Все выдают одну и ту же ошибку (ссылка на журнал pip : http://drop.io / gi2bgw6 ). Я видел, как другие успешно устанавливали PIL с использованием стандартного Python Snow Leopard 2.6.1, поэтому я не уверен, почему у меня так много проблем, чтобы заставить его работать с 2.6.2.

    Это было полезно?

    Решение

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

    export CC=/usr/bin/gcc-4.0
    

    Просмотреть похожую проблему здесь .

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

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

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

    Другие советы

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

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

    export ARCHFLAGS="-arch i386"
    

    (при условии, что вы на i386)

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

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

    <Ол>
  • Установить readline

    cd ~/src
    curl -O ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz
    tar -xvzf readline-6.0.tar.gz
    cd readline-6.0
    ./configure  
    make  
    sudo make install
    
  • Установите 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
    cd gdbm-1.8.3
    # Need to modify Makefile.in
    perl -pi -e 's/BINOWN = bin/BINOWN = root/' Makefile.in
    perl -pi -e 's/BINGRP = bin/BINGRP = wheel/' Makefile.in
    ./configure
    make
    sudo make install
    
  • Скомпилируйте последнюю версию 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
    make
    sudo make frameworkinstall
    

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

    Failed to find the necessary bits to build these modules:
    _bsddb             dl                 imageop         
    linuxaudiodev      ossaudiodev        spwd            
    sunaudiodev                                           
    To find the necessary bits, look in setup.py in detect_modules() for the module's name.
    
    
    Failed to build these modules:
    Nav                                                   
    
    running build_scripts
    
  • Обновите .bash_profile для нового Python 2.6.2+ и для virtualenvwrapper

    # Set PATH for MacPython 2.6 if Python2.6 is installed
    if [ -x /Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 ]; then
        PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
        export PATH
    fi
    
    # MDR April 23, 2009: Added for virtualenvwrapper
    if [ -x   /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc ]; then
        export WORKON_HOME=$HOME/.virtualenvs
        export PIP_VIRTUALENV_BASE=$WORKON_HOME
        source /Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvwrapper_bashrc
    fi
    
  • Установите 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
    
  • Создайте 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 года. Вы можете это подтвердить?

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

    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 Repository или Репозиторий Subversion Python . Согласно сообщению 92315 от Выпуск 6802 , Рональд Оуссорен исправил это в Редакции r74686. .

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

    10.6 Snow Leopard устанавливает PIL без хлопот и без поддержки MacPorts :)

    Шаг 1: Установите MacPorts
    Шаг 2: установка порта sudo py26-pil
    Шаг 3: mv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/
    Шаг 4: Удалите MacPorts

    Лучший из обоих миров?

    У меня сработали следующие шаги:

    $ brew install pip
    $ export ARCHFLAGS="-arch i386 -arch x86_64"
    $ pip install pil
    

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

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

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

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

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

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

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

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

    http://jetfar.com/libjpeg- и-питон-визуализация-пиль-на-снежно-леопард /

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

    Решено в 2 этапа:

    Шаг 1: деинсталлированный и установленный XCode, предлагается здесь: http: // binarylionstudios .com / блог / 2011/01/30 / ошибок stdarg.h-нет-такой-то файл или директория /

    для правильного удаления Xcode следуйте этому ответу: Как полностью удалить Xcode 4

      

    sudo / Разработчик / Библиотека / uninstall-devtools --mode = all

    используйте установочный Xcode.app после перезапуска вашего Mac

    Шаг 2: после переустановки xcode установка не удалась

      

    невозможно выполнить gcc-4.2: такой файл или каталог PIL отсутствуют

    чтобы решить, что я подписался на этот пост: http: //aravir-rose.blogspot. ком / 2011/12 / установка-питон-27s-изображения-library.html

    Удачи!

    В OS X Lion с текущим XCode и без gcc-4.0 я могу обойти отсутствующую ошибку stdard.h, установив следующие переменные среды:

      

    export CC = & / quot; /usr/bin/llvm-gcc-4.2"

    Не могу сказать, что понимаю, почему это работает.

    Кстати, это работает и для Pillow fork от PIL.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top