При запуске кода проекта в разных средах разработки (Jupyter, VSCode и т.д.) может возникнуть проблема “сломанных” путей и импортов. Приходится переписывать их вручную. Это актуально при работе в команде, если код приходится запускать то в одной среде, то в другой.
Для решения этой небольшой проблемы можно использовать простой трюк с содержимым переменной среды sys.path().
Например, для запуска проекта в Jupyter рекомендовано начинать с директории /starter. А среда VSCode обычно запускается из корня проекта.
import os
import sys
# For Jupyter Hub
if os.getcwd().endswith("starter"): # Проверить, заканчивается ли текущая директория на /starter
sys.path.append('../library/') # добавь в переменную path путь "../library/"
sys.path.append('../') # добавь в переменную path путь "../"
# For VSCode
else:
sys.path.append('./library/') # добавь в переменную path путь "./library/"
sys.path.append('./starter/') # добавь в переменную path путь "../starter/"
Таким образом, в переменной sys.path() всегда будут содержаться нужные пути.