Installieren von Python Imaging Library (PIL) auf Snow Leopard mit aktualisierten Python 2.6.2
-
08-07-2019 - |
Frage
Ich habe eine Neuinstallation (begann mit einem Wischantrieb) von Snow Leopard mit den Entwickler-Tool während des Snow Leopard installiert.
Ich installierte dann Python 2.6.2, anstelle der Snow Leopard Standard-Python 2.6.1. Ich habe versucht, PIL zu installieren:
-
easy_install
-
pip
- Herunterladen von Quelle und läuft
python setup.py build
manuell.
Alle ergeben sich die gleichen Fehler (Link auf pip
log: http://drop.io/gi2bgw6 ) . Ich habe andere gesehen haben, hatte Erfolg der Installation von PIL die Snow Leopard Standard-Python 2.6.1 verwenden, so dass ich bin mir nicht sicher, warum ich so viel Mühe, bekommen es mit 2.6.2 zu arbeiten.
Lösung
Die python.org Python wurde mit einer früheren gcc gebaut. Versuchen Sie es mit gcc-4.0 anstelle von SL-Standard von 4.2:
export CC=/usr/bin/gcc-4.0
Siehe ähnliches Problem hier .
Das wird über das stdarg Problem. Sie können dann den Weg laufen später Probleme mit verschiedenen abhängigen Bibliotheken aufzubauen.
BTW, gcc-4.0 und gcc-4.2 sind beide mit Snow Leopard Xcode enthalten 3 , so dass keine zusätzlichen Installationen erforderlich sind.
AKTUALISIERT 2011-05: Beachten Sie, dass die neuere Xcode 4 , mit 10,6 für die experimentellen Einsatz freigegeben und mit 10,7 seinem Standard erwartet, nicht mehr enthält PPC Unterstützung so, wenn Sie Xcode installieren 4, dieser Vorschlag wird nicht funktionieren. Optionen sind mit den neueren 64-Bit / 32-bin Python 2.7.x Installateure von python.org oder eine neuere Python 2.6 und PIL und die verschiedenen 3rd-Party-Libs zur Installation von MacPorts, Homebrew oder Fink.
Andere Tipps
Das Problem war ich lief in dem PIL gegen PowerPC-Architektur kompiliert wurde (-arch ppc).
Tun Sie dies vor der Inbetriebnahme / build / kompilieren:
export ARCHFLAGS="-arch i386"
(Angenommen, Sie sind auf i386)
Modified Antwort
Hier sind die Schritte, die ich nahm, um erfolgreich PIL auf Mac OS X 10.6 (ohne MacPorts oder Fink verwendet wird) zu installieren.
-
Installieren 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
-
Installieren 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
-
Kompilieren Sie den neuesten Python 2.6.2+ aus dem 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
Hinweis : Ich habe die folgenden Fehlermeldungen nach
make
ausgeführt wird. Allerdings habe ich weiterhin auf, wie ich über fehlende diese Module nicht besorgt war, und ich konnte erfolgreich PIL installieren.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
-
Update Bash_profile für den neuen Python 2.6.2+ und für 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
-
Installieren easy_install, pip, virtualenv und virtualenvwrapper für 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
-
ein virtualenv erstellen und dann pip verwenden, um PIL zu installieren
mkvirtualenv pil-test cdvirtualenv easy_install pip pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz
Hinweis . Ich war nicht in der Lage PIL mit pip install pil
zu installieren, so dass ich von der URL installiert, wie oben gezeigt
Original Antwort
Von dem, was ich in Ihrem pip-log.txt Datei sehen scheint es, dass Sie Python installiert 2.6.2 mit dem Mac Installer Disk Image von Python.org veröffentlicht am 16. April 2009 können Sie bestätigen das?
Von der pip log, konnte gcc mit Exit-Status 1. Der säumige gcc
Befehl von Ihrem Pip-Protokoll ist wie folgt:
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
Dies scheint ein Problem im Zusammenhang mit Snow Leopard Ändern der Standardwert für die -arch Flagge von i386
werden, um x86-64
nach Ronald Oussoren in Nachricht 92083 von Python Ausgabe 6802 . Es ist ein Patch verfügbar Python 2.6.2, aber es wurde in den Mac Installer Disk Image nicht integriert.
Ihre beste Lösung, die MacPorts oder Fink nicht wahrscheinlich Python zu kompilieren und installieren aus dem 2.6 Release-Zweig von beiden würden bedeuten, sein die Mercurial Repository Python oder die Subversion Repository Python . Nach Nachricht 92315 von Ausgabe 6802 , feste Ronald Oussoren dies in Revision r74686 .
Ich habe da Ähnliche Fehler mit Python 2.6.2 aus dem Bild Mac Platte installierte bei dem Versuch, dann Stoff in einem virtualenv zu installieren, so plane ich von der Version 2.6 Wartung Zweig zu kompilieren und zu installieren. Wenn Sie wollen, werde ich ein Update, wenn erfolgreich.
10.6 Snow Leopard installieren PIL ohne lästige und ohne MacPorts halten :)
Schritt 1: Installieren MacPorts
Schritt 2: sudo port install py26-pil
Schritt 3: mv /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/
Schritt 4: Deinstallieren MacPorts
Das Beste aus beiden Welten?
Folgende Schritte arbeitete für mich:
$ brew install pip
$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ pip install pil
Es scheint mir, dass die „No such file“ ist zusammen mit stdarg.h ist der interessanteste Fehler. Es scheint, fehlt eine Header-Datei zu sein. Ich weiß nicht, wie Sie sicherstellen, es auf OS X installiert ist, so dass diese nur eine halbe Antwort, Tut mir leid, aber vielleicht ist es schiebt man in die richtige Richtung.
werden können, sollten Sie vorab bauen versuchen Universal Binaries von pythonmac Website
http://pythonmac.org/packages/py25-fat/index.html
Diese sind für python2.5, mit python2.5 enthalten (so Sie kann oder kann nicht verwendet werden), ich benutze es, da ich Problem PIL mit selbst hatte bauen mit py2app.
Ich fand eine einfachere Methode. sudo port install python26 sudo port install python_select
Dann python_select Satz python26 als Standard verwenden.
Dann einfach installieren PIL als normal.
Ich konnte PIP mit SL Python mit diesen Anweisungen installiert bekommen:
http://jetfar.com/libjpeg- und-python-imaging-pil-on-snow-leopard /
Gelöst in 2 Schritten:
Schritt 1: Uninstalled und installiert Xcode, schlug hier: http: // binarylionstudios .com / blog / 2011/01/30 / Fehler-stdarg.h-no-so-Datei-oder-Verzeichnis /
Xcode entfernen properlly diese Antwort folgen: wie vollständig Xcode 4 entfernen
sudo / Developer / Library / uninstall-devtools --mode = all
Mit der Xcode.app installieren, nachdem Sie Ihren Mac neu starten
Schritt 2: nach Xcode neu installiert wurde, die Installation fehlgeschlagen
nicht in der Lage gcc-4.2 auszuführen: Keine solche Datei oder das Verzeichnis PIL
zu lösen, dass ich diesen Beitrag gefolgt: http: //aravir-rose.blogspot. com / 2011/12 / Installation-python-27s-imaging-library.html
Viel Glück!
Unter OS X Lion mit aktuellen XCode und ohne gcc-4.0 ich in der Lage bin rund um die fehlende stdard.h Fehler zu erhalten, indem die folgenUmgebungsVariablen:
export CC = "/ usr / bin / llvm-gcc-4.2"
Ich kann nicht sagen, ich verstehe, warum das funktioniert.
Durch die Möglichkeit, dies auch für die Kissen Gabel von PIL funktioniert.