Проблема пути поиска модуля Python

Я пытаюсь работать в среде разработчиков, но нахожу проблемы в том, что python, похоже, использует модули из каталога site-packages. Я хочу, чтобы он использовал модули из моего каталога dev.

sys.path возвращает кучу директорий, вот так

['', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages' etc

Это хорошо, он использует текущий каталог в качестве первого места поиска (по крайней мере, я так понимаю).

Хорошо, теперь, если я создаю, скажем, файл с именем command.py в текущем каталоге, все будет работать так, как я ожидал.

>>> import commands
>>> commands.__file__
   'commands.pyc'

Затем я выхожу из оболочки Python и запускаю другую. Я тогда делаю это.

>>> import foo.bar.commands

Теперь я ожидаю, что он перейдет из текущего каталога в ./foo/bar/ и оттуда получит модуль команд. Что я получаю, хотя это

>>> foo.bar.commands.__file__
    '/usr/lib/python2.6/site-packages/foo/bar/commands.pyc'

Хотя из моего текущего каталога есть ./foo/bar/commands.py

Используя imp.find_module () и imp.load_module (), я могу правильно загрузить локальный модуль. Что действительно интересно (хотя я действительно не знаю, что это значит) - это последняя строка, которая выводится в этой последовательности

>>> import foo.bar.commands
>>> foo.bar.commands.__file__
   '/usr/lib/python2.6/site-packages/foo/bar/commands.pyc'
>>> foo.bar.__file__
   '/usr/lib/python2.6/site-packages/foo/bar/__int__.pyc'
>>> foo.__file__
    './foo/__init__.pyc'

Так что, если он может найти фу /в этом.pyc в локальном каталоге, почему он не может найти другие файлы в локальном каталоге?

ура

Ответы на вопрос(2)

Ваш ответ на вопрос