У меня есть пользовательский пакет Python (my_package
), расположенный в каталоге (super_dir
). У меня есть сценарий (my_script.py
) во вложенном каталоге super_dir
(назовем его sub_dir
), который импортирует my_package
и использует его.
Я получаю ошибку ModuleNotFound
, если я запускаю скрипт из окна терминала (где мой рабочий каталог super_dir
) с помощью вызова python sub_dir/my_script.py.
Это работает , однако, если my_script.py
находится внутри super_dir
, а не внутри sub_dir
и я просто звоню python my_script.py
. Это также работает, если я запускаю my_script.py
в VSCode в интерактивном окне Python (даже если мой рабочий каталог sub_dir
), пока у меня есть строки
import os
os.chdir('....further_paths/super_dir/')
на верхняя часть сценария.
У меня вопрос: как я могу заставить скрипт запускаться из терминала так, чтобы он мог оставаться в пределах sub_dir
, но все равно мог импортировать my_package
, даже если my_package
находится «вверх» целый каталог?
Даже если строки ^ выше (которые изменяют текущий каталог) включены вверху скрипта, я все равно получаю ошибку ModuleNotFound
, пока я запускаю скрипт из окна терминала и my_script.py
не находится в super_dir
.
Заранее спасибо, надеюсь, мой вопрос был ясен!