@alekseiami

Как выполнить относительный импорт библиотеки в Python?

Есть проект с такой структурой:

----+ project_catalog
    |
    +----+ module_name
    |    |
    |    +----+ module
    |         |
    |         +----+ __init__.py
    |         |
    |         +----+ ModuleFileOne.py
    |         |
    |         +----+ ModuleFileTwo.py
    |         |
    |         +----+ ModuleFileThree.py
    |
    |
    +----+ working_project
         | 
         +----+ main.py


Вопрос такой: как, находясь в ./project_catalog/working_project/main.py, импортировать файлы из ./project_catalog/module_name/module/?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
@o5a
Можно добавить путь верхнего уровня (project_catalog) к pythonpath, тогда можно будет использовать относительный импорт. Например так
import os

# выходим на верхний уровень
parentdir = os.path.dirname(os.path.dirname(__file__))
# и добавляем его к путям поиска
os.sys.path.insert(0,parentdir)
# после чего можем использовать импорт по вложенному пути
import module_name.module.ModuleFileOne
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы