Назад к вопросам
Middle
71
questionbank
Как Python производит поиск модулей при их импорте?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Python ищет модули в следующем порядке:
- Текущий каталог исполняемого скрипта: Сначала Python ищет модуль в каталоге, где находится выполняемый скрипт. Это первая запись в
sys.path. - Каталоги в переменной окружения
PYTHONPATH: Затем Python просматривает каталоги, указанные в переменной окруженияPYTHONPATH. Это список путей, разделенных системным разделителем (например, двоеточием на Unix-подобных системах или точкой с запятой на Windows). - Стандартные каталоги установки Python: Python ищет в стандартных каталогах, где устанавливаются его библиотеки. Эти пути определяются при сборке Python и обычно включают пути к каталогу
site-packages. .pthфайлы: Python также может использовать.pthфайлы, расположенные в каталогах изsys.path. Эти файлы содержат дополнительные пути, которые будут добавлены кsys.pathпри запуске Python.
Порядок каталогов, в которых Python ищет модули, хранится в списке sys.path.
Пример просмотра sys.path:
import sys
print(sys.path)
Когда модуль найден, его код загружается и выполняется, а затем он становится доступен по имени, указанному в инструкции import. Если модуль не найден ни в одном из этих мест, возбуждается исключение ModuleNotFoundError. До Python 3.6 это исключение называлось ImportError.