PYTHONPATH ignoriert

Umgebung: debian 4.0

Python 2.4

Mein 'Projekt' ist installiert in:

/usr/lib/python2.4/site-packages/Projekt.

Aber ich möchte, um meine arbeiten zu kopieren, statt die einzeln installiert, die befindet sich in:

/home/me/dev/project/src

Also, was ich Tue:

export PYTHONPATH=/home/me/dev/project/src

ipython

import foo # das ist in src

foo.__file__

*/usr/lib/python2.4/site-packages/project/foo.py*

statt :

/home/me/dev/project/src/project/foo.py

Wie kommt das? Probiere ich die Wege (der export oben) und was ich sehe, ist:

import sys,os

sys.Pfad

[",
'/usr/bin',
'/usr/lib/python2.4/site-packages',
'/home/me/dev/project/src',
'/usr/lib/python24.zip',
'/usr/lib/python2.4',
'/usr/lib/python2.4/plat-linux2',
'/usr/lib/python2.4/lib-tk',
'/usr/lib/python2.4/lib-dynload',
'/usr/local/lib/python2.4/site-packages',
'/usr/lib/python2.4/site-packages/PIL',
'/var/lib/python-support/python2.4',
'/usr/lib/python2.4/site-packages/IPython/Erweiterungen',
'/home/me/.ipython']

os.environ['PYTHONPATH']

/home/me/dev/project/src

Maschine richtig funktioniert: > export PYTHONPATH=foo > ipython > import sys > sys.Pfad = [ '/etc/python2.4', '/home/ich/foo', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/python2.4/plat-linux2', '/usr/lib/python2.4/lib-tk', '/usr/lib/python2.4/lib-dynload', '/usr/local/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages', '/var/lib/python-support/python2.4', ] In der Maschine nicht richtig funktioniert, /usr/lib/python2.4/site-packages geht vor in der Liste...
Lassen Sie uns einige konkrete Fragen stattdessen: Jeder stimmt zu, dass wenn ich den PYTHONPATH, um eine gültige Modul-Pfad, es sollte laden Sie dieses Modul zunächst unabhängig? Alle sind sich einig, dass python versucht Module zu laden in der Reihenfolge der von sys.Pfad? Wenn die aboce korrekt ist, warum python nicht einfügen PYTHONPATH am Anfang des sys.Pfad (nach den Eiern)?

InformationsquelleAutor | 2009-06-16

Schreibe einen Kommentar