Środowisko: debian 4.0PYTHONPATH ignorowane
Python 2.4
mój 'projekt' jest zainstalowany w:
/usr/lib/python2.4/site-packages/project.
Ale chcę używać mojego kopię roboczą zamiast zainstalowanego jednego, który znajduje sie w:
/home/me/dev/projekt/src
Więc co mam zrobić jest:
export PYTHONPATH =/home/ja/dev/projekt/src
ipython
import foo # które jest w src
foo.__file__
*/usr/lib/python2.4/site-packages/project/foo.py*
zamiast:
/home/Me/dev/Project/src/projektu/foo .py
Jak to możliwe? Staram się sprawdzić Pathes (zrobiwszy eksport powyżej) i co widzę jest: sys
importowe, OS
sys.path
[ '', „/ 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 ', '/u sr/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/Extensions' '/home/me/.ipython']
os.environ [ 'PYTHONPATH']
/home/me/dev/projekt/src
maszyna działa prawidłowo: > export PYTHONPATH = foo > ipython > import sys > * sys.path = [ '/etc/python2.4', „/ home/Me/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', ] * W urządzeniu nie działa poprawnie, */usr/lib/python2.4/site-packages * pojawia się wcześniej na liście ... –
Zamiast tego dajmy kilka precyzyjnych pytań: Wszyscy zgadzają się, że jeśli ustawię PYTHONPATH na poprawną ścieżkę modułu, powinien on najpierw załadować ten moduł niezależnie? Wszyscy zgadzają się, że pyton próbuje załadować moduły zgodnie z kolejnością sys.path? Jeśli aboce jest poprawne, dlaczego python nie wstawia PYTHONPATH na początku sys.path (po jajach)? –