Что делает PYTHONPATH
При импорте модуля Python ищет его в наборе директорий, формирующих путь поиска модулей (sys.path). В него входят:
текущий каталог / каталог скрипта;
стандартная библиотека;
установленные пакеты (site-packages);
директории из переменной окружения
PYTHONPATH(если она задана).
То есть PYTHONPATH позволяет «подсказать» интерпретатору: «смотри ещё и сюда, когда делаешь import». Например:
export PYTHONPATH=/home/user/my_libsпосле этого можно import my_module из /home/user/my_libs, даже если он не установлен как пакет.
Основные моменты, которые нужно уметь сформулировать:
PYTHONPATH— переменная окружения, а не Python‑переменная.Она добавляет директории к пути поиска модулей (
sys.path), что удобно при разработке, когда код ещё не оформлен как устанавливаемый пакет или используется общий «internal libs» каталог.В современных проектах чаще полагаются на виртуальные окружения и нормальную установку пакетов, а
PYTHONPATHиспользуют точечно и осторожно, чтобы не путать импорты.
Краткая формулировка для интервью
PYTHONPATH — это переменная окружения, которая добавляет дополнительные каталоги в sys.path. При импорте модулей Python помимо стандартных путей смотрит ещё и в папки, указанные в PYTHONPATH. Это удобно для разработки и внутренних библиотек, но в продакшене обычно предпочитают виртуальные окружения и установку пакетов, чтобы не запутывать путь поиска модулей.