Re: [Python-de] import Pfad veraendern
Wolfgang Strobl
Installiert habe ich es dann mit:
$ python setup.py install --prefix /sw/ubuntu-10.04/mirage-0.9.5.1
Das sieht mir ziemlich verkehrt aus. --prefix dient dazu, den Ort der Python-Installation festzulegen, in deren site-packages das betreffende Modul abgelegt werden soll. Typisch wäre z.B. /usr/bin/python setup.py install --prefix=/usr/local wenn man /usr/local/lib/python2.X statt /usr/lib/python2.X und das dortige site-packages verwenden willl.
Achso, man kann nur einDirectory auswaehlen, in dem Python sowieso nach seinen libs sucht?
Gab es einen Grund, diesen Prefix anzugeben? Ich hätte es erst mal ohne eine Angabe versucht ....
/sw ist unser verteiltes Software-Installationskonzept. Dort landen alle extra installierte Software. /usr/local ist tatsaechlich lokal, wohingegen /sw fuer viele hundert hosts verfuegbar ist (NFS). -- Ullrich Horlacher Informationssysteme und Serverbetrieb Rechenzentrum E-Mail: horlacher@rus.uni-stuttgart.de Universitaet Stuttgart Tel: ++49-711-685-65868 Allmandring 30 Fax: ++49-711-682357 70550 Stuttgart (Germany) WWW: http://www.rus.uni-stuttgart.de/
On Jun 3, 2012, at 10:02 AM, Ulli Horlacher wrote:
Wolfgang Strobl
wrote: Installiert habe ich es dann mit:
$ python setup.py install --prefix /sw/ubuntu-10.04/mirage-0.9.5.1
Das sieht mir ziemlich verkehrt aus. --prefix dient dazu, den Ort der Python-Installation festzulegen, in deren site-packages das betreffende Modul abgelegt werden soll. Typisch wäre z.B. /usr/bin/python setup.py install --prefix=/usr/local wenn man /usr/local/lib/python2.X statt /usr/lib/python2.X und das dortige site-packages verwenden willl.
Achso, man kann nur einDirectory auswaehlen, in dem Python sowieso nach seinen libs sucht?
Nein, es gibt die verschiedensten Möglichkeiten, Python nach libs suchen zu lassen, und auch mehr als einen Pfad zu berücksichtigen. Eine Lösung wäre vielleicht, mittels einer virtualenvs in deinem /sw/-verzeichnis die Installation vorzunehmen, und dann mittels der Umgebungsvariable PYTHONPATH dafür zu sorgen, dass die Installation gefunden wird. Mit einem kleinen Wrapper-Skript sollte das problemlos gehen. Diez
Am 03.06.2012 10:02, schrieb Ulli Horlacher:
Achso, man kann nur einDirectory auswaehlen, in dem Python sowieso nach seinen libs sucht?
Nein, Python sucht in allen Dirs, die in PYTHONPATH angegeben sind. Ein paar Gedanken-Anstöße: 1) python setup.py install --prefix /sw/ubuntu-10.04/ Dann landen *alle* Module in /sw/ubuntu-10.04/lib/python2.6/site-packages, die Skripte landen in /sw/ubuntu-10.04/bin 2) python setup.py install --prefix /sw/ubuntu-10.04/ --install-scripts /sw/ubuntu-10.04/mirage-0.9.5.1/bin Dann landen *alle* Module in die Skripte landen in /sw/ubuntu-10.04/mirage-0.9.5.1/bin. Aber das Modul mirage landet weiterhin in /sw/ubuntu-10.04/lib/python2.6/site-packages/mirage. Du kannst also nur eine Version installiert haben und damit schient diese Installations-Variante für Deinen Fall unsinnig. 3) Installieren mit easy_install: easy_install --prefix sw/ubuntu-10.04/ --script-dir /sw/ubuntu-10.04/mirage-0.9.5.1/bin Damit landet das Modul in /sw/ubuntu-10.04/lib/python2.6/site-packages/mirage-0.9.5.1, Du könntest also mehrere Versionen von Mirage parallel installieren. Für diese Variante musst Du allerdings dafür sorgen, dass /sw/ubuntu-10.04/lib/python2.6/site-packages in PYTHONPATH enthalten ist. Und natürlich muss dort (oder generisch auf den Zielsystemen) auch setuptools installiert sein. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Goebel Consult http://www.goebel-consult.de Monatliche Kolumne: http://www.cissp-gefluester.de/2011-08-horrorszenario-bring-your-own-device Blog: http://www.goebel-consult.de/blog/20041011 Goebel Consult ist Mitglied bei http://www.7-it.de/
participants (3)
-
Diez B. Roggisch
-
Hartmut Goebel
-
Ulli Horlacher