Python Tech Скрипты

Гибкое управление содержимым sys.path() для разных сред разработки

При запуске кода проекта в разных средах разработки (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() всегда будут содержаться нужные пути.

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить