Этот вопрос проверяет знание механизма поиска и загрузки модулей в Python.
При импорте модуля Python ищет его в текущем каталоге, путях, указанных в PYTHONPATH, стандартной библиотеке, и сторонних библиотеках (в site-packages). Порядок поиска хранится в списке sys.path.
Когда вы импортируете модуль с помощью import module_name, Python ищет его по следующему алгоритму:
1. Текущий каталог: Сначала проверяется каталог, из которого запущен скрипт.
2. PYTHONPATH: Переменная окружения, которая содержит пользовательские пути для поиска модулей.
3. Стандартные библиотеки Python: Проверяются стандартные модули Python.
4. Сторонние библиотеки: Папка site-packages содержит модули, установленные через pip.
Пути поиска хранятся в списке sys.path, который можно вывести или изменить:
import sys
print(sys.path)
sys.path.append('/custom/path')Если модуль не найден, Python вызывает ошибку ModuleNotFoundError.
Пример структуры каталогов:
project/
├── script.py
├── my_module.pyИмпорт my_module из script.py выполнится успешно, так как они находятся в одном каталоге.
Когда важно знать:
При разработке больших проектов с модульной структурой.
Для решения проблем с импортом и управления зависимостями.