Вопросы про переменную PYTHONPATH
🔸 Как она определяет пути поиска модулей при импорте?
Пути поиска модулей находятся в списке sys.path. Как формируется этот список?
Исходя из документации мы может выделить 3 основных этапа.
▫️Путь к запускаемому скрипту или рабочая директория
▫️ Переменная PYTHONPATH
▫️ Стандартные пути к библиотекам
Это значит, что все три этапа выполняются в момент инициализации интерпретатора. Результат заполняет список sys.path. В том числе и пути, указанные в переменной PYTHONPATH.
🔸 Можно ли добавлять новые пути в эту переменную в Python-коде?
Можно, но учитывая, что используется она только во время старта интерпретатора, никакого эффекта это иметь не будет.
Для изменения путей поиска модулей в коде нужно изменять непосредственно список sys.path.
🔸 Можно ли указать много путей для поиска?
Да, с помощью переменной PYTHONPATH можно указать несколько директорий, разделённых символом разделения пути. Для Linux это символ ":", для Windows это ";".
Например:
export PYTHONPATH=/mnt/libs:~/mylibs
#basic#tricks