Pergunta

Eu tenho uma nova instalação (iniciado com uma unidade limpou) do Snow Leopard com as ferramentas de desenvolvimento instaladas durante a instalação do Snow Leopard.

Eu então instalado o Python 2.6.2, substituindo o python padrão Snow Leopard 2.6.1. Eu tentei instalar PIL por:

  1. easy_install
  2. pip
  3. download de fonte e correndo python setup.py build manualmente.

Todos produzir o mesmo erro (link para o log pip: http://drop.io/gi2bgw6 ) . Eu vi outros tiveram sucesso instalando PIL usando o python padrão Snow Leopard 2.6.1, então eu não sei por que eu estou tendo tanta dificuldade para fazê-la funcionar com 2.6.2.

Foi útil?

Solução

O python.org Python foi construído com um gcc mais cedo. Tente usar gcc-4.0 em vez do padrão de 4,2 do SL:

export CC=/usr/bin/gcc-4.0

Veja problema semelhante aqui .

Isso consegue passar o problema stdarg. Você pode então executar em problemas compilação posterior com várias bibliotecas dependentes.

BTW, gcc-4.0 e gcc-4.2 são ambos incluídos com o Xcode do Snow Leopard 3 instalações de forma que nenhum adicionais são necessários.

ATUALIZADO 2011-05: Note, que o mais recente Xcode 4 , liberado para uso experimental com 10,6 e espera que seja padrão com 10,7, já não inclui suporte PPC por isso, se você instalar o Xcode 4, esta sugestão não vai funcionar. As opções incluem usando o mais recente 64-bit / 32-bin Python 2.7.x instaladores de python.org ou instalar um Python mais recente 2.6 e PIL e as várias libs 3-parte usando MacPorts, Homebrew, ou Fink.

Outras dicas

O problema que eu tive foi que PIL estava sendo compilado com a arquitetura PowerPC (PPC -arch).

Faça isso antes de setup / build / compilação:

export ARCHFLAGS="-arch i386"

(Supondo que você está em i386)

Modificado Resposta

Aqui estão os passos que eu tomei para instalar com êxito PIL no Mac OS X 10.6 (sem usar MacPorts ou Fink).

  1. Instale 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. Instale 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. compilar o mais recente Python 2.6.2+ do 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 : Eu não receber os seguintes erros após a execução make. No entanto, eu continuei como eu não estava preocupado em perder esses módulos, e eu era capaz de instalar com sucesso 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
    
  4. Atualização .bash_profile para o novo Python 2.6.2+ e 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 e 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. Criar um virtualenv e depois usar pip para instalar PIL

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

Nota :. Eu não era capaz de instalar PIL usando pip install pil, então eu instalado a partir do URL, como mostrado acima

Resposta Original

Do que eu posso ver em sua pip-log.txt arquivo parece que você instalou o Python 2.6.2 usando a imagem Mac Disk Installer partir Python.org lançado em 16 de abril de 2009. você pode confirmar isso?

No registro de pip, gcc falhou com status de saída 1. O comando ofender gcc do seu log pip é o seguinte:

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 um problema relacionado com o Snow Leopard alterando o valor padrão para a bandeira -arch de i386 para x86-64 acordo com Ronald Oussoren em Mensagem 92083 de Python Edição 6802 . Há um patch disponível Python 2.6.2, mas não foi integrado a imagem de disco Mac Installer.

Seu melhor solução que não envolve MacPorts ou Fink provavelmente seria compilar e instalar Python do ramo 2,6 liberação tanto do Mercurial Python Repository ou o Subversion Python Repository . De acordo com a Mensagem 92315 de Edição 6802 , Ronald Oussoren fixa isso em Revisão r74686 .

Tenho visto erros semelhantes usando Python 2.6.2 instalado a partir da imagem Mac Disk ao tentar, em seguida, instalar Tecido em um virtualenv, então eu planejar para compilar e instalar a partir do ramo de manutenção 2.6 release. Se você quiser, eu vou atualizar quando bem sucedido.

instalar

10.6 Snow Leopard PIL sem o incômodo e sem manter MacPorts :)

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

O melhor dos dois mundos?

Seguindo os passos funcionaram para mim:

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

Parece-me que o "Nenhum tal lima" é conjunto com stdarg.h é o erro mais interessante. Parece haver um arquivo de cabeçalho faltando. Eu não sei como se certificar de que está instalado no OS X, assim que este apenas meia resposta, sinto muito por isso, mas talvez ele empurra-lo na direção certa.

Pode ser que você deve tentar pré-construir binários universais do site pythonmac

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

Estes são para python2.5, com python2.5 incluído (isso pode ou não ser útil para você), eu tenho usado ele desde que eu tinha problema com auto-construção PIL com py2app.

Eu encontrei um método mais simples. sudo port instalar Python26 sudo port instalar python_select

Em seguida, use set python_select Python26 como padrão.

Em seguida, basta instalar PIL como normal.

Eu era capaz de conseguir PIP instalado com Python do SL usando estas instruções:

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

Você tem XCode (vem no disco Snow Leopard) instalado? Existem alguns componentes-chave (mais notavelmente GCC ) que precisam ser instalados, o que XCode alças para você.

Resolvido em 2 etapas:

Passo 1: desinstalado e instalado Xcode, sugeriu aqui: http: // binarylionstudios .com / blog / 2011/01/30 / erro de stdarg.h-no-such-file-ou-diretório /

para remover Xcode properlly seguir esta resposta: Como remover totalmente Xcode 4

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

Use a instalação Xcode.app depois de reiniciar o Mac

Passo 2: após xcode foi reinstalado, a instalação falhou

incapaz de executar gcc-4.2: No arquivo ou diretório, tais PIL

Para resolver que eu segui este post: http: //aravir-rose.blogspot. COM / 2011/12 / instalar-python-27s-imaging-library.html

Boa sorte!

No OS X Lion com o Xcode atual e não gcc-4.0 eu sou capaz de contornar o erro stdard.h faltando, definindo as variáveis ??de ambiente a seguir:

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

Eu não posso dizer que entendo por que isso funciona.

A propósito isso funciona para o garfo Pillow de PIL também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top