Адресация к модулям
Уважаемое сообщество, у меня возник следующий вопрос:
В проекте модули лежат в разных директориях. Вполне естественно если в один модуль импортиться модуль из другой папки расположенной на том же уровне.
Питон начиная с версии 2.5 научился относительной адресации. Сейчас же я нашел два варианта -- поменять системную переменную PYTHONPATH на корень веб-проектов и адресовать к модулям от него, или в каждом модуле где происходит импорт модулей указывать sys.path.
Оба из этих методов мне ненравяться:
1) PYTHONPATH требует указывать абсолютную адресацию не от корня проекта, а от корня веб-пространства(на питоне там проекта три, и в каждом используется примерно такая-же структура). К тому же его не напишешь в конфиге проекта.
2) sys.path требуется указывать в каждом модуле, в котором происходит импорт.
Два этих недостатка лишают систему гибкости. В идеале хотелось бы только один раз написать в конфиге где находится root проекта, и дальше адресовать модули от него.
В проекте модули лежат в разных директориях. Вполне естественно если в один модуль импортиться модуль из другой папки расположенной на том же уровне.
Питон начиная с версии 2.5 научился относительной адресации. Сейчас же я нашел два варианта -- поменять системную переменную PYTHONPATH на корень веб-проектов и адресовать к модулям от него, или в каждом модуле где происходит импорт модулей указывать sys.path.
Оба из этих методов мне ненравяться:
1) PYTHONPATH требует указывать абсолютную адресацию не от корня проекта, а от корня веб-пространства(на питоне там проекта три, и в каждом используется примерно такая-же структура). К тому же его не напишешь в конфиге проекта.
2) sys.path требуется указывать в каждом модуле, в котором происходит импорт.
Два этих недостатка лишают систему гибкости. В идеале хотелось бы только один раз написать в конфиге где находится root проекта, и дальше адресовать модули от него.
