Импорты и пакеты Python: окружение и циклические зависимости

Задачи на импорты Python: виртуальное окружение, pyproject.toml, пакеты и циклические зависимости.

Состав подборки: 1 вопрос с выбором ответа, 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.

Разберите маленький пример

Модули a и b могут импортировать друг друга до завершения инициализации. Если b запрашивает имя из a, которое ещё не создано, проблема не решается установкой пакета заново. Найдите цепочку импортов и отделите общие определения от кода, который запускает работу.

На что обратить внимание

  • Проверяйте, какой интерпретатор запускает программу и где установлены зависимости.
  • Различайте абсолютный импорт, публичный интерфейс пакета и внутренние модули.
  • Сопоставляйте структуру файлов с условием; одинаковые названия пакета и скрипта могут мешать диагностике.

Порядок практики

  1. Импорт модулей стандартной библиотеки — задача по Python — выбор ответа.
  2. Python: Диагностика виртуального окружения — код.
  3. Python: Валидатор pyproject.toml — код.
  4. Абсолютные импорты Python: задача с пакетом warehouse — код.
  5. Python: Публичный фасад пакета reports: init.py и all — код.
  6. Python: Диагностика циклического импорта по traceback — код.

Куда двигаться дальше

Системная практика организации проекта входит в программу курса Python для продвинутых.

Далее — типизированные интерфейсы пакета.

Импорты и пакеты Python: окружение и циклические зависимости