Зарегистрируйтесь, чтобы продолжить обучение

Подготовка проекта Python: Настройка окружения

Часто код программы разбит на несколько текстовых файлов с расширением языка. Эти файлы, их еще называют модули, принято собирать в пакет, общий проект. Для управления пакетами существуют специальные утилиты пакетные менеджеры. Они позволяют создавать новые проекты, устанавливать сторонние пакеты и выкладывать наш проект на Github и другие репозитории.

В нашем курсе в качестве пакетного менеджера мы будем использовать утилиту uv

Установим ее по инструкции с сайта:

curl -LsSf https://astral.sh/uv/install.sh | sh

Если способ выше не работает, то можете попробовать другие способы установки в нашей инструкции

После установки проверьте, что утилита работает

uv --version
uv 0.4.30

uv выполняет множество важных задач, с которыми мы будем знакомиться в течение курса. Сейчас нас интересует ее базовое использование – создание, инициализация, нового проекта.

Для создания нового проекта нужно выполнить две вещи:

  • Создать директорию проекта – место, внутри которого будут располагаться все файлы с кодом. Эта директория называется корнем проекта.
  • Запустить команду инициализации uv init в корне проекта.
# Создание директории
mkdir hexlet-hello-world
# Переход внутрь директории
cd hexlet-hello-world

# Инициализация проекта
# init – означает initialization
uv init

Initialized project `hexlet-hello-world`

В результате менеджер создаст такую структуру директорий

.
├── .python-version
├── hello.py
├── pyproject.toml
└── README.md

По умолчанию uv создает шаблонный файл hello.py. Удалим его и создадим поддиректорию нашего проекта hexlet_hello_world.

.
├── hexlet_hello_world
├── pyproject.toml
├── .python-version
└── README.md

Такая структура разделяет компоненты с рабочим кодом от общих компонентов настройки проекта. Так все модули нашего приложения будут лежать в директории проекта hexlet_hello_world. А все файлы конфигурации проекта лежат в корне.

Среди этих файлов README.md - текстовое описание нашего проекта, .python-version - файл с указанием версии Python, нужен для установки проекта, и pyproject.toml - файл с описанием метаданных и настроек нашего проекта. Рассмотрим его подробнее.

[project]
name = "hexlet-hello-world"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = []

pyproject.toml — это текстовый файл, внутри которого данные хранятся в TOML формате. Строчки вида [project] описывают секции с парами "ключ = значение»". В примере выше значением ключа name будет "hexlet-hello-world".

Самая важная секция для нас сейчас - [project]. В ней описываются общие данные проекта. Здесь хранится версия version, описание description, название name. Также указана требуемая версия Python requires-python и список зависимостей dependencies. О них поговорим позже.

После завершения процесса инициализации можно приступать к самому главному — написанию кода. Откроем наш проект в редакторе, это можно сделать командой code . и создадим в директории hexlet-hello-world новый файл example.py. Добавим в него строчку print("Hello from python project!") и запустим. Запускать код нужно обязательно из корневой директории проекта, указывая полный путь от нее до файла.

# указываем полный путь до файла
python3 hexlet_hello_world/example.py

Самостоятельная работа

  1. Создайте новый проект hexlet-hello-world
  2. Изучите файл pyproject.toml
  3. Создайте поддиректорию hexlet-hello-world проекта, в которой будет храниться весь код проекта
  4. Создайте в ней новый модуль example.py и добавьте в него строчку print("Hello from python project!")
  5. Запустите его командой из урока
  6. Добавьте все изменения на Github

Дополнительные материалы

  1. uv: An extremely fast Python package and project manager, written in Rust.

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 19 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»