Импорты и пакеты Python: окружение и циклические зависимости
Задачи на импорты Python: виртуальное окружение, pyproject.toml, пакеты и циклические зависимости.
Состав подборки: 1 вопрос с выбором ответа, 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.
Разберите маленький пример
Модули a и b могут импортировать друг друга до завершения инициализации. Если b запрашивает имя из a, которое ещё не создано, проблема не решается установкой пакета заново. Найдите цепочку импортов и отделите общие определения от кода, который запускает работу.
На что обратить внимание
- Проверяйте, какой интерпретатор запускает программу и где установлены зависимости.
- Различайте абсолютный импорт, публичный интерфейс пакета и внутренние модули.
- Сопоставляйте структуру файлов с условием; одинаковые названия пакета и скрипта могут мешать диагностике.
Порядок практики
- Импорт модулей стандартной библиотеки — задача по Python — выбор ответа.
- Python: Диагностика виртуального окружения — код.
- Python: Валидатор pyproject.toml — код.
- Абсолютные импорты Python: задача с пакетом warehouse — код.
- Python: Публичный фасад пакета reports: init.py и all — код.
- Python: Диагностика циклического импорта по traceback — код.
Куда двигаться дальше
Системная практика организации проекта входит в программу курса Python для продвинутых.
- Импорт модулей стандартной библиотеки — задача по Python
randint(1, 10)) Что, скорее всего, произойдёт при запуске? Проверьте ответ в задаче из бесплатного курса Python.
Python для новичков - Python: Диагностика виртуального окружения
Прочитайте диагностический вывод команд Python и определите, корректно ли настроено виртуальное окружение. Задача с проверкой кода.
Python для продвинутых: ООП, типизация и тестирование - Python: Валидатор pyproject.toml
Напишите валидатор pyproject.toml: проверьте обязательные секции и настройки проекта по тексту файла. Практическая задача на Python.
Python для продвинутых: ООП, типизация и тестирование - Абсолютные импорты Python: задача с пакетом warehouse
Используйте абсолютные импорты в пакете warehouse из нескольких модулей. Разберите структуру пакета и проверьте решение онлайн.
Python для продвинутых: ООП, типизация и тестирование - Python: Публичный фасад пакета reports: init.py и all
Настройте публичный API пакета reports через init.py и all. Практика импорта и экспорта имён в Python.
Python для продвинутых: ООП, типизация и тестирование - Python: Диагностика циклического импорта по traceback
Определите циклический импорт по Python traceback и найдите модуль, вызвавший ошибку. Практическая задача с проверкой кода.
Python для продвинутых: ООП, типизация и тестирование
