Что такое PYTHONPATH?

PYTHONPATH — это переменная окружения, которая добавляет дополнительные директории в путь поиска модулей и пакетов при импорте в Python. Она расширяет список sys.path, чтобы можно было импортировать код не только из стандартной библиотеки и site-packages, но и из твоих собственных папок проекта.

Подробный ответ

Что делает PYTHONPATH

При импорте модуля Python ищет его в наборе директорий, формирующих путь поиска модулей (sys.path). В него входят:

  1. текущий каталог / каталог скрипта;

  2. стандартная библиотека;

  3. установленные пакеты (site-packages);

  4. директории из переменной окружения PYTHONPATH (если она задана).

То есть PYTHONPATH позволяет «подсказать» интерпретатору: «смотри ещё и сюда, когда делаешь import». Например:

export PYTHONPATH=/home/user/my_libs

после этого можно import my_module из /home/user/my_libs, даже если он не установлен как пакет.

Основные моменты, которые нужно уметь сформулировать:

  1. PYTHONPATH — переменная окружения, а не Python‑переменная.

  2. Она добавляет директории к пути поиска модулей (sys.path), что удобно при разработке, когда код ещё не оформлен как устанавливаемый пакет или используется общий «internal libs» каталог.

  3. В современных проектах чаще полагаются на виртуальные окружения и нормальную установку пакетов, а PYTHONPATH используют точечно и осторожно, чтобы не путать импорты.

Краткая формулировка для интервью

PYTHONPATH — это переменная окружения, которая добавляет дополнительные каталоги в sys.path. При импорте модулей Python помимо стандартных путей смотрит ещё и в папки, указанные в PYTHONPATH. Это удобно для разработки и внутренних библиотек, но в продакшене обычно предпочитают виртуальные окружения и установку пакетов, чтобы не запутывать путь поиска модулей.

 

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге