Между первым и последующими проектами на Хекслет в профессии «Python-разработчик» может пройти некоторое время, месяцев шесть, как в моем случае. И за это время многие навыки и знания позабылись. Особенно не хватило четкого знания, что делать перед началом проекта с подключением к GitHub, с подключением и настройкой Poetry, что такое Flake8 и где взять шильдик Code Climate. И не хватило мне компактной шпаргалки. Пришлось собирать разрозненные сведения по курсам и статьям Хекслета и на просторах интернета.
Подключение к GitHub:
- Создание репозитория на GitHub и подключение к нему.
- Создать новый репозиторий по ссылке github.com/new. Запомнить/скопировать <ИМЯ РЕПОЗИТОРИЯ>. Не ставить галочку на создание README файла. Репозиторий должен быть пуст при создании. Примечание: это если вы уже зарегистрированы на GitHub и у вас заведены SSH-ключи. Если не зарегистрированы, то регистрируйтесь и заводите SSH-ключи. Про ключи написано тут - https://github.com/Hexlet/ru-instructions/blob/main/git.md.
- Выбираем или создаем папку на компьютере. Как вариант — командой
mkdir
. Если планируется создавать в проекте окружение с использованием Poetry, то папку можно создать соответствующей командойpoetry new <ИМЯ ПАПКИ>
. И там уже будет развернута структура Poetry. - Во вновь созданной на компьютере папке для репозитория заводим Git командой
git init
. - Подключаем локальный Git к GitHub. В командной строке выполнить команду
git remote add origin https://github.com/<ИМЯ ХРАНИЛИЩА НА ГИТХАБЕ>/<ИМЯ РЕПОЗИТОРИЯ>.git
. В моем случае команда целиком будет выглядеть так:git remote add origin https://github.com/AntonTyurin87/rep_2.git
. - Создаем README файл на компьютере в папке для репозитория. Как вариант командой
echo "# <ИМЯ ПАПКИ> >> README.md.
- Добавляем README файл в Git в созданной папке на ПК
git add
. - Создаем коммит README файла в репозитории на ПК командой
git commit -m
. - Запускаем обнуление содержимого репозитория на GitHub командой
git push
.
Проще говоря:
Создал репозиторий на GitHub -> Создал папку под репозиторий на ПК -> Инициализировал Git в созданной папке на ПК -> Создал первый README файл -> Добавил READMY файл в репозиторий на ПК -> Сделал коммит README файла в репозитории на ПК -> Сделал PUSH README файла в репозиторий на GitHub.
Список команд в моем случае:
mkdir rep_2
cd rep_2
git init
git remote add origin https://github.com/AntonTyurin87/rep_2.git
echo "# rep_2" >> README.md
git add README.md
git commit -m "first commit"
git push
Poetry:
Установка и работа с Poetry:
- Более подробно и развернуто описано тут. Еще очень неплохо написано тут.
- Устанавливаем Poetry не как обычную программу через
pip install
, а через команду, выбранную из текста по ссылке. В зависимости от ОС и среды на которую ставим. - Создаем папку для проекта командой
poetry new <ИМЯ ПАПКИ>
. - Настраиваем содержимое
pyproject.toml
. По нему Poetry и работает, как по инструкции. - Инициализируем виртуальное окружение командой
poetry install
. - Пакеты, которые нужны нам для работы, добавляем в список зависимостей командой
poetry add <ИМЯ ПАКЕТА>
после установки пакета. Информация о новом пакете появится вpyproject.toml
. - Работу с Poetry более глубоко можно изучить тут.
Создание Makefile:
При работе с проектом придется по несколько раз использовать множество длинных команд. Для упрощения ситуации прямо в корне папки проекта можно создать Makefile и в нем описать все необходимые команды, создав для них более короткий вызов. Подробнее о Makefile тут.
Flake8:
- Это такой линтер, который помогает поддерживать читаемость и аккуратность кода. В Хекслете о нем писали тут. Документация на Flake8 - тут.
- Если у вас уже стоит Poetry, то устанавливаем Flake8 командой poetry
add --group=dev flake8
. Без Poetry командойpip install flake8
. - Можно прогонять через линтер как отдельные файлы командой
flake8 <ИМЯ ФАЙЛА>
, так и целые папки с файлами командойflake8 <ИМЯ ПАПКИ>
. - Для Flake8 можно и нужно создать файл конфигурации
setup.cfg
и положить его в корень папки проекта. Вот пример такого файла конфигурации.
Code Climate:
Еще есть такая штука, которая помогает команде программистов писать чистый код — Code Climate. Работает прямо с проектным кодом на GitHub и выдает ценные рекомендации и предупреждения. Подробно о том, как подключить к репозиторию, описано тут.