[Python-de] Python 2.7: sys.path vs. PYTHONPATH
Hartmut Goebel
h.goebel at goebel-consult.de
So Sep 18 14:15:46 CEST 2011
Am 18.09.2011 13:39, schrieb Ole Streicher:
> Ja. Unter 2.6 war die Verzeichnisstruktur unter
> /mylocal/python/lib64/python2.7/site-packages/ folgende:
>
> pyfits/
> otherpkg/ usw.
>
> Jetzt ist sie
>
> distribute-0.6.19-py2.7.egg/distribute/
> pyfits-3.0-py2.7-linux-x86_64.egg/pyfits/
> otherpkg-0.3.3-py2.7.egg/otherpkg/ usw.
Dann hast Du bei 2.6 anders installiert. Kann es sein, dass Du unter 2.6
setuptools/ditstribute nicht installiert hattest, als Du das andere
installiert hast?
Wenn Du sagst, bei 2.6 ging es, bei 2.7 nicht, dann prüfe bitte, ob alle
Deinen Parameter wirklich unverändert sind. Oder noch besser: Mache
einen erneuten Test mit 2.6.
> OK, das erklärt einiges. Das heißt (ich kann es gerade nicht testen), es
> sollte reichen, so etwas zu schreiben?
Nein, genügt nicht. Siehe `pydoc site`.
> Mir ist das nicht ganz verständlich: ich hatte doch beim Installieren
> "--prefix=/mylocal/python" angegeben; warum wird da jetzt zusätzlich ein
> Verzeichnis "pyfits-3.0-py2.7-linux-x86_64.egg/" eingefügt?
Weil easy_install/setuptools/distribute eggs so installiert.
> beginnt und unmittelbar aufgerufen wird. Ich habe daher keinen Zugriff
> auf das Environment des Nutzers.
Häh? Entweder, Du bis für die Installation zuständig, dann hast Du
Zugriff auf das Environment des Anwenders. Oder Du hast keinen Zugriff
auf das Environment des Anwenders, dann bist Du auch nicht dafür
Verantwortlich, dem Anwender eine funktionsfähige Umgebung zu schaffen.
> Ich dachte auch immer, dass genau dafür
> der sys.path vorgesehen ist und PYTHONPATH nur dazu dient, den nochmal
> von außen zu setzen?
Genau umgekehrt: PYTHONPATH ist der primäre Weg, den Modul-Suchpfad zu
setzen. Denn der ist immer abhängig von der Betriebssystem-Umgebung (wo
ist das Zeug installiert). Damit ist es Aufgabe des Betriebssystems, das
der Anwendung mitzuteilen.
>> Oder verwende virtualenv.
> Ist zumindest nicht unter docs.python.org zu finden.
http://lmgtfy.com/?q=python+virtualenv
--
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP
Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de
Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult ist Mitglied bei http://www.7-it.de
Mehr Informationen über die Mailingliste python-de