Wie richte ich ein lokales python-Bibliothek Verzeichnis / PYTHONPATH?

In den Prozess der versucht zu schreiben, ein Python-Skript, dass verwendet PIL heute entdeckte ich, dass ich offenbar nicht habe es auf meinem lokalen Rechner (OS X 10.5.8, default Python 2.5 installieren).

Also ich ausführen:

easy_install --prefix=/usr/local/python/ pil

und es beschwert sich ein wenig über /usr/local/python/lib/python2.5/site-packages noch nicht vorhandene, ich Schaffe es, und versuchen Sie es erneut, und dieses:

TEST FEHLGESCHLAGEN IST:
/usr/local/python//lib/python2.5/site-packages
NICHT unterstützt .pth-Dateien-Fehler: bad
installieren Sie directory oder PYTHONPATH

Die Sie versuchen zu installieren
Paket in ein Verzeichnis, das nicht auf
PYTHONPATH und die Python nicht
Lesen ".pth" - Dateien aus. Die
installation von Ihnen angegebenen Verzeichnis
(über --install-dir, -- - Präfix oder die
distutils default-Einstellung) war:

/usr/local/python//lib/python2.5/site-packages

und Ihre PYTHONPATH Umgebung
variable aktuell enthält:

''

OK, fair genug-ich hatte nichts unternommen, um den Pfad festzulegen. Also habe ich noch eine schnelle Linie zu ~/.bash_profile:

PYTHONPATH="$PYTHONPATH:/usr/local/python/lib/python2.5"

sowie source es, und versuchen Sie es erneut.

Gleiche Fehlermeldung.

Dies ist kindof neugierig, da PYTHONPATH ist klar und deutlich; ich kann echo $PYTHONPATH und zurück :/usr/local/python/lib/python2.5. Ich beschloss zu prüfen, was der include-Pfad sah aus wie von innen:

import sys
print "\n".join(sys.path)

welche ergibt:

/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload
/Library/Python/2.5/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/PyObjC

aus, die /usr/local/python/yadda/yadda ist insbesondere fehlt.

Nicht sicher, was ich machen soll hier. Wie bekomme ich python zu erkennen, diese Lage als include-Pfad?

UPDATE

Als Sven Marnach vorgeschlagen, ich vernachlässigte den export PYTHONPATH. Ich habe korrigiert, dass problem und jetzt finden Sie es zeigen, wenn ich drucken Sie sys.path innerhalb von Python. Allerdings hab ich noch die TEST FAILED Fehlermeldung, die ich oben erwähnt, nur mit meinem neuen PYTHONPATH-Umgebungsvariable.

So, ich habe versucht, es zu ändern aus /usr/local/python/lib/python2.5 zu /usr/local/python/lib/python2.5/site-packages, exportieren und mit den easy_install Befehl erneut aus. Dies führt zu einem ganz neuen Ergebnis, auf den ersten sah wie Erfolg (aber nicht):

Creating /usr/local/python/lib/python2.5/site-packages/site.py
Searching for pil
Reading http://pypi.python.org/simple/pil/
Reading http://www.pythonware.com/products/pil
Reading http://effbot.org/zone/pil-changes-115.htm
Reading http://effbot.org/downloads/#Imaging
Best match: PIL 1.1.7
Downloading http://effbot.org/media/downloads/PIL-1.1.7.tar.gz
Processing PIL-1.1.7.tar.gz
Running PIL-1.1.7/setup.py -q bdist_egg --dist-dir /var/folders/XW/XWpClVq7EpSB37BV3zTo+++++TI/-Tmp-/easy_install-krj9oR/PIL-1.1.7/egg-dist-tmp--Pyauy
--- using frameworks at /System/Library/Frameworks
[snipped: compiler warnings]
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      darwin 2.5.1 (r251:54863, Sep  1 2010, 22:03:14)
              [GCC 4.0.1 (Apple Inc. build 5465)]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.
zip_safe flag not set; analyzing archive contents...
Image: module references __file__
No eggs found in /var/folders/XW/XWpClVq7EpSB37BV3zTo+++++TI/-Tmp-/easy_install-krj9oR/PIL-1.1.7/egg-dist-tmp--Pyauy (setup script problem?)

Wieder, das sieht gut aus, aber wenn ich gehen, um mein Skript auszuführen:

Traceback (most recent call last):

Datei "checkerboard.py", line 1, in

import Image, ImageDraw ImportError: No module named Image

Wenn ich überprüfen, was nun unter /usr/local/python/ mit find . ich bekommen:

./lib ./lib/python2.5
./lib/python2.5/site-packages
./lib/python2.5/site-packages/site.py
./lib/python2.5/site-packages/Website.pyc

So... nichts-Modul-auf der Suche (ich gehe davon site.py und die Website.pyc sind Metadaten oder Helfer-Skripte). Woher die Installation?

I Hinweis:

Um den build zu überprüfen, führen Sie den
selftest.py-Skript.

Aber nicht wirklich wissen, was das ist.

Und ich bemerkte auch, die "Keine Eier gefunden" - Meldung. Entweder sind diese Hinweise?

Haben Sie den export der PYTHONPATH? Nur die Einstellung, es als shell-variable nicht helfen. Versuchen export PYTHONPATH="$PYTHONPATH:/usr/local/python/lib/python2.5" und verwenden env zu überprüfen, es ist wirklich exportiert, um die Umwelt.
Huh. OK, ich brauche definitiv Anregungen für eine gute Grundierung auf Verständnis shell/environment-Variablen und Befehle wie env und export und source besser. Ich würde gerne mal Anregungen. Dies ist nur ein Teil des Problems, aber... nun habe ich folgte Sven der Vorschläge der Pfad scheint sich immer erkannt sys.path, aber ich bin noch immer die "test fehlgeschlagen" - Nachricht von leicht installieren. Ich werde aktualisieren, meine Frage, um diese zu reflektieren.

InformationsquelleAutor Weston C | 2010-12-09

Schreibe einen Kommentar