Poetry چیست؟

ابزار Poetry یک جعبه ابزار dependency management و packaging برای کدهای پایتون است. برخلاف ابزار دیگر update کردن پکیج ها و افزایش امنیت سیستم در آن بسیار راحت است و در کنار این مسئله مانند pipenv یک lockfile تولید می کند که قابلیت بازتولید دقیق محیط توسعه و دیپلویمنت را برای پروژه و اعضای تیم فراهم می کند. دستورات مختلفی در CLI ابزار Poetry وجود دارد و توصیه میکنیم که حتما داکیومنت های اصلی آن را بررسی کنید:

https://python-poetry.org/docs/

نصب Poetry

بعد از این میتوانید با استفاده از یکی از دو دستور زیر محیط خود را ایجاد کنید:

# to create a directory and a pyproject.toml file in it
poetry new poetry-demo

# to create a pyproject.toml file in current directory
poetry init

مراحل زیر را برای پروژه های شخصی یا پروژه هایی که میخواهید شروع کنید، نیز میتوانید انجام دهید ولی برای این دوره شما به عنوان یک برنامه نویس که تنها وظیفه ی اجرا و توسعه ی کدها در یک محیط آماده را دارد( کارآموزی، جونیوری و مید لول ای) قرار نیست خودتان محیط مجازی مناسب برای اجرای کدها را بسازید و قرار است فقط از محیطی که در اختیار شما قرار گرفته استفاده کنید.

برای نصب پکیج ها:

poetry add fastapi uvicorn[standard]

نکته ی بسیار مهم:

دیگر در طول دوره نیاز به نصب چیزی ندارید اما اسم پکیج های مورد استفاده را برای محیط venv که دیگر از آن استفاده نخواهیم کرد می بینید. آشنایی با اسم پکیج های اصلی و پرکاربرد مهم است.


برای فعالسازی محیط مجازی:

poetry shell

افزودن محیط مجازی به IDE

نمونه فایل TOML

# pyproject.toml
[tool.poetry]
name = "fastapi-junior"
version = "2.0.0"
description = ""
authors = ["SoroushMoosapour <s75moosapour@gmail.com>"]
license = "MIT"
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
fastapi = "^0.110.0"
uvicorn = "^0.28.0"
pydantic = "^2.6.4"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"