Первая глава практического блока — и первое место, где терминал из блока 2 снова понадобится напрямую: установка сторонних инструментов происходит именно оттуда, а не внутри самого Python-кода.
Python поставляется с обширной стандартной библиотекой — множеством готовых модулей,
доступных сразу после установки, без отдельной загрузки: math (математические
функции), random (случайные числа), datetime (работа с датой и
временем), и десятки других. Это осознанная философия языка — "батарейки в комплекте":
для многих типичных задач не нужно ничего устанавливать дополнительно.
Для всего остального существует pip — менеджер пакетов Python, устанавливающий сторонние библиотеки из PyPI (Python Package Index, публичный каталог пакетов). Команда набирается прямо в терминале (глава 09–12), а не внутри самого Python-кода:
Разные проекты на одном компьютере могут требовать разных (иногда несовместимых) версий одной и той же библиотеки. Если устанавливать все пакеты в одно общее "глобальное" окружение Python, рано или поздно возникнет конфликт — обновление для одного проекта сломает другой. Виртуальное окружение — изолированная копия набора установленных пакетов для конкретного проекта, не пересекающаяся с остальными.
Обрати внимание на разницу команды активации между системами — прямое практическое
применение различий путей и синтаксиса, разобранных в главах 09–10: команда для macOS
использует прямой слэш и команду source, команда для Windows — обратный слэш
без неё.
Файл requirements.txt — стандартный способ зафиксировать, какие именно пакеты
(и какие именно их версии) нужны проекту, чтобы другой человек — или ты сам на другом
компьютере — мог воссоздать точно такое же рабочее окружение одной командой.
Модуль в Python — это буквально любой файл с расширением .py, который можно импортировать из другого файла:
Каждый файл Python имеет встроенную переменную __name__. Когда файл запускается
напрямую (python3 helpers.py), она равна "__main__". Когда тот же
файл импортируется как модуль из другого файла, она равна имени модуля, а не
"__main__". Эта проверка позволяет писать код, который выполняется только при
прямом запуске файла (например, тестовый вызов функции для проверки), но не выполняется
при обычном импорте этого файла как библиотеки в другом проекте.
Если модуль — один файл, то пакет — папка, содержащая несколько связанных модулей и
специальный файл __init__.py, помечающий папку как единый импортируемый пакет.
Для задач этой книги достаточно понимания на уровне отдельных модулей — структура пакетов
становится актуальной по мере роста проекта за пределы одного-двух файлов.
Следующая глава — обработка ошибок: что происходит, когда что-то в программе идёт не так, и как реагировать на это осознанно, а не позволять программе просто аварийно завершиться.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.