Python не видит папку в пайтон-пакете, при обращении к ней из другого пайтон-пакета

Python 3.9

Имею такую структуру проекта

введите сюда описание изображения

Пытаюсь из пакета user_interface, файла main, запустить скрипт synth_recog, который лежит в соседнем пакете back_end. В этом скрипте происходит импорт файлов из папки vosk_small_model_ru, с помощью библиотеки vosk.

self.model = Model('path_to/vosk_small_model_ru')

При абсолютном импорте все работает. Но при относительном нет. (Вот относительный импорт)

self.model = Model('../back_end/vosk_small_model_ru')

В чем проблема? Почему не работает через относительный путь? Вариант с получением пути через os.path.abspath и последующей его подстановкой в Model, не работает.


Ответы (1 шт):

Автор решения: Nick Kontvitskiy

Попробуйте через pathlib

from pathlib import Path
import os
project_root = Path(__file__).parent.parent
self.model = Model(os.path.join(project_root, 'back_end', 'vosk_small_model_ru'))
→ Ссылка