python osx-snow-leopard python-imaging-library

Instalación de Python Imaging Library(PIL) en Snow Leopard con Python 2.6.2 actualizado



osx-snow-leopard python-imaging-library (12)

Tengo una instalación nueva (iniciada con un disco borrado) de Snow Leopard con las herramientas de desarrollador instaladas durante la instalación de Snow Leopard.

Luego instalé Python 2.6.2, reemplazando el python 2.6.1 predeterminado de Snow Leopard. He intentado instalar PIL por:

  1. easy_install
  2. pip
  3. descargando la fuente y ejecutando python setup.py build manualmente.

Todos producen el mismo error (enlace a pip log: http://drop.io/gi2bgw6 ). He visto que otros han tenido éxito en la instalación de PIL con el Python 2.6.1 predeterminado de Snow Leopard, así que no estoy seguro de por qué tengo tantos problemas para que funcione con 2.6.2.


Respuesta modificada

Estos son los pasos que seguí para instalar PIL en Mac OS X 10.6 (sin usar MacPorts o Fink).

  1. Instalar 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

  2. Instalar 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

  3. Compila la última versión de Python 2.6.2+ de 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

    Nota : Recibí los siguientes errores después de ejecutar make . Sin embargo, continué ya que no me preocupaba perder estos módulos y pude instalar PIL con éxito.

    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

  4. Actualice .bash_profile para el nuevo Python 2.6.2+ y para 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

  5. Instale easy_install, pip, virtualenv y virtualenvwrapper para 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. Crea un virtualenv y luego usa pip para instalar PIL

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

Nota : no pude instalar PIL usando pip install pil , así que instalé desde la URL como se muestra arriba.

Respuesta original

Por lo que puedo ver en su archivo http://drop.io/gi2bgw6 , parece que instaló Python 2.6.2 utilizando la Imagen de Disco del Instalador Mac de Python.org lanzada el 16 de abril de 2009. ¿Puede confirmar esto?

Desde el registro de pip, gcc falló con el estado de salida 1. El comando gcc ofensivo de su registro de pip es el siguiente:

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

Este parece ser un problema relacionado con Snow Leopard que cambia el valor predeterminado para el indicador -arch de i386 a x86-64 acuerdo con Ronald Oussoren en el Mensaje 92083 de Python Issue 6802 . Hay un parche disponible en Python 2.6.2, pero no se ha integrado en la imagen de disco del instalador de Mac.

Su mejor solución que no implique a MacPorts o Fink sería compilar e instalar Python desde la versión 2.6 desde el repositorio de Python de Mercurial o el repositorio de Python de Subversion . De acuerdo con el Mensaje 92315 del número 6802 , Ronald Oussoren lo corrigió en la Revisión r74686 .

He estado viendo errores similares al usar Python 2.6.2 instalado desde la imagen de disco de Mac al intentar instalar Fabric en un virtualenv, así que planeo compilar e instalar desde la rama de mantenimiento de la versión 2.6. Si quieres, te actualizaré cuando tenga éxito.


¿Tiene instalado XCode (viene en el disco Snow Leopard)? Hay algunos componentes clave (sobre todo GCC ) que deben instalarse y XCode se encarga de usted.


10.6 Snow Leopard instala PIL sin la molestia y sin mantener MacPorts :)

Paso 1: Instalar MacPorts
Paso 2: puerto sudo instalar py26-pil
Paso 3: mv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/
Paso 4: Desinstalar MacPorts

¿Lo mejor de ambos mundos?


El problema que encontré fue que PIL se estaba compilando contra la arquitectura PowerPC (-arch ppc).

Haga esto antes de instalar / construir / compilar:

export ARCHFLAGS="-arch i386"

(Suponiendo que estás en i386)


El python.org Python fue construido con un gcc anterior. Intente usar gcc-4.0 en lugar del valor predeterminado de SL de 4.2:

export CC=/usr/bin/gcc-4.0

Ver problema similar here .

Eso supera el problema stdarg. Luego puede tener problemas de compilación posteriores con varias bibliotecas dependientes.

BTW, gcc-4.0 y gcc-4.2 se incluyen con Xcode 3 de Snow Leopard, por lo que no se necesitan instalaciones adicionales.

ACTUALIZADO 2011-05: Tenga en cuenta que el nuevo Xcode 4 , lanzado para uso experimental con 10.6 y que se espera que sea estándar con 10.7, ya no incluye soporte de PPC, por lo tanto, si instala Xcode 4, esta sugerencia no funcionará. Las opciones incluyen usar los nuevos instaladores de Python 2.7.x de 64 bits / 32 compartimientos de python.org o instalar un Python 2.6 y PIL más nuevos y las distintas librerías de terceros que usan MacPorts, Homebrew o Fink.


En OS X Lion con XCode actual y sin gcc-4.0, puedo solucionar el error stdard.h faltante al configurar las siguientes variables de entorno:

export CC = "/ usr / bin / llvm-gcc-4.2"

No puedo decir que entiendo por qué funciona esto.

Por cierto, esto también funciona para la horquilla Pillow de PIL.


Encontré un método más simple. puerto sudo instalar python26 puerto sudo instalar python_select

Luego usa python_select set python26 como predeterminado.

Luego simplemente instale PIL como de costumbre.


Los siguientes pasos funcionaron para mí:

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


Me parece que el "error no existe" junto con stdarg.h es el error más interesante. Parece que falta un archivo de encabezado. No sé cómo asegurarme de que esté instalado en OS X, así que esto es solo la mitad de una respuesta, lo siento, pero tal vez lo empuja en la dirección correcta.



Puede ser que debas probar los binarios universales precompilados desde el sitio de pythonmac

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

Estos son para python2.5, con python2.5 incluido (puede o no ser utilizable para usted), lo he estado usando desde que tuve un problema al usar PIL de self build con py2app.


Resuelto en 2 pasos:

Paso 1: Xcode desinstalado e instalado, sugerido aquí: http://binarylionstudios.com/blog/2011/01/30/error-stdarg.h-no-such-file-or-directory/

para eliminar Xcode correctamente siga esta respuesta: Cómo eliminar por completo Xcode 4

sudo / Developer / Library / uninstall-devtools --mode = all

usa el Xcode.app de instalación después de reiniciar tu mac

Paso 2: después de reinstalar xcode, la instalación falló

no se puede ejecutar gcc-4.2: no existe tal archivo o directorio PIL

para resolver que seguí este post: http://aravir-rose.blogspot.com/2011/12/installing-python-27s-imaging-library.html

¡Buena suerte!