Как установить, настроить и использовать Poetry для управления проектами по обработке и анализу данных
Воспроизводимость является важным аспектом науки о данных. Когда мы говорим о воспроизводимости в науке о данных, мы имеем в виду способность независимо воссоздавать результаты проекта либо самостоятельно в более поздний момент времени, либо с помощью коллеги.
Наличие процессов, обеспечивающих воспроизводимость, укрепляет доверие к результатам и обеспечивает качество работы по обработке и анализу данных. Кроме того, это упрощает работу над прошлыми работами. Это может означать, что коллега повторно обучает модель, созданную шесть месяцев назад, или другой член команды разрабатывает новую модель на основе предыдущего анализа.
Большая часть воспроизводимости в проектах по науке о данных зависит от того, насколько хорошо код вашего проекта организован и доступен, чтобы другие могли запускать его независимо. Чтобы организовать ваши проекты таким образом, чтобы ими мог управлять кто угодно и где угодно, вам необходимо как минимум следующее:
- Виртуальная среда
- Способ отслеживания зависимостей для проекта
- Стандартная структура папок
- Способ упаковки и публикации вашего кода
В последние годы в языке программирования Python стали появляться стандарты и лучшие практики, особенно в области науки о данных. Поэзия — это пример библиотеки Python, которая появилась для предоставления стандартов для управления проектами Python. По своей сути Poetry обеспечивает простую функциональность для каждой из областей, перечисленных выше.
В следующей статье я расскажу, как установить, настроить и использовать Poetry для управления проектами по науке о данных.
Установка
Поэзия предоставляет скрипт для установки. Это зависит от используемой операционной системы.
Для Mac OSX, Linux или bash в Windows выполните следующее:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Для Windows используйте это:
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
Сценарий установит Poetry в вашей системе и автоматически добавит соответствующий каталог файлов в вашу переменную окружения $PATH
.
Если вы сейчас откроете новую вкладку или окно оболочки и выполните следующее:
poetry --version
Вы должны увидеть этот вывод.
Создание проекта
Чтобы создать проект с Poetry, введите следующее:
poetry new my-datascience-project
Poetry автоматически создаст каталог для вашего проекта со скелетной структурой, подобной показанной ниже.
Установка пакетов
В дополнение к созданию структуры проекта по умолчанию, поэзия также создаст виртуальную среду для вашего проекта и файл .toml
. Этот файл хранит и поддерживает зависимости для проекта. Это будет выглядеть примерно так.
Если вы используете Pycharm для разработки, вы можете установить плагин, поддерживающий язык toml.
Этот файл toml состоит из 4 разделов:
tool.poetry предоставляет область для сбора информации о вашем проекте, такой как название, версия и автор(ы).
tool.poetry.dependencies перечисляет все зависимости для вашего проекта.
tool.poetry.dev-dependencies перечисляет зависимости, необходимые вашему проекту для разработки, которые не должны присутствовать ни в одной версии, развернутой в производственной среде.
build-system ссылается на тот факт, что Poetry использовался для управления проектом.
Чтобы установить новый пакет, мы набираем следующее:
poetry add pandas
Это автоматически добавит пакет в ваш список зависимостей, а также сгенерирует файл поэзии.lock. Этот файл отслеживает все пакеты и точную версию, используемую в вашем проекте.
Чтобы активировать виртуальную среду, мы набираем poetry shell
и набираем exit
для деактивации.
Попав в виртуальную среду, любые сценарии Python можно запустить с помощью следующей команды:
poetry run python my_script.py
Создавайте и публикуйте
Иногда нам может понадобиться упаковать наш проект, чтобы его можно было опубликовать и установить другими пользователями или в других проектах. Poetry предоставляет очень простой способ создания и публикации вашего проекта.
Просто запустите следующее:
poetry build
Это даст вам следующее сообщение.
Poetry добавила новую папку под названием dist
и создала необходимый исходный дистрибутив и колеса для проекта.
Выполнение команды poetry publish
загрузит упакованный проект в удаленный репозиторий, который можно настроить с помощью команды config.
Poetry — один из многих современных инструментов Python для управления зависимостями и виртуальными средами. Другие инструменты включают pipenv, virtualenv и conda. Однако Poetry стремится инкапсулировать больше элементов, необходимых для воспроизводимости кода, включая согласованную структуру проекта и простые инструменты для публикации кода.
В этой статье я дал краткое введение в Poetry для управления проектами по науке о данных. Для получения дополнительной информации о виртуальных средах Python в целом и воспроизводимости кода для науки о данных см. мои предыдущие сообщения ниже.
Спасибо за прочтение!