Проект root путь к папке в Python - PullRequest
0 голосов
/ 09 июля 2020

У меня есть проект python $MY_PROJECT, где записные книжки python находятся в папке $MY_PROJECT/Analysis/src/notebooks, а файлы python находятся в $MY_PROJECT/Analysis/src/notebooks/scripts.

Внутри каждой записной книжки я Получите эти инструкции, чтобы загрузить файлы python, которые находятся в папке сценариев. Позже я импортирую метод в записную книжку, как показано ниже.

module_path = os.path.abspath(os.path.join('./scripts'))
if module_path not in sys.path:
    sys.path.append(module_path)

from scripts.parser import load_static_data

Внутри папки scripts есть файл (parser.py) с методом __main__. Я решил в этом файле не добавлять модуль сценариев в sys.path, потому что файл уже находится в папке scripts.

Если я попытаюсь запустить parser.py в командной строке, я получите ошибку ниже.

python scripts/parser.py input1 ./output-folder
Traceback (most recent call last):
  File "scripts/parser.py", line 10, in <module>
    from scripts.data_loading import load_static_data
ModuleNotFoundError: No module named 'scripts'

Как я могу определить, что каждый раз, когда я запускаю файл python или записную книжку, классы загружаются из папки проекта root (т.е. $MY_PROJECT) ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...