tg-me.com/pyproglib/6895
Last Update:
В некоторых задачах требуется запускать Python-проекты без Docker-образов, чтобы напрямую обращаться к машине и драйверам GPU без дополнительных абстракций.
В таком случае удобным решением становятся runnable-файлы — Python wheel, которые можно собрать с помощью Poetry и использовать в CI/CD.
Основные этапы настройки:pyproject.toml
настроить включение необходимых пакетов при сборке wheel:
[tool.poetry]
packages = [
{ include = "main_dir" },
]
poetry.toml
указать репозиторий для публикации:[repositories.my-registry]
url = "https://europe-west1-python.pkg.dev/my-project/my-registry/"
rm -fr dist/ # Удаление старых сборок для предотвращения конфликтов
sed -I.back 's/^version = "[^"]*"/version = "1.0.post'"$(date +%Y%m%d%H%M)"'"/' pyproject.toml # Динамическое обновление версии
poetry publish --build --repository my-registry
gcloud artifacts print-settings python --project=my-gcp-project --repository=my-registry --location=europe-west1
pip install my-project
python -m my_job # Запуск проекта
Преимущества такого подхода:
Библиотека питониста #буст