Poetry چیست و چه کاربردی در پایتون دارد
Poetry در حقیقت یک ابزار مدیریت و سازماندهی بستههای نرمافزاری در زبان پایتون است. این ابزار به برنامهنویسان کمک میکند تا محیطی ساده و مؤثر برای نصب، مدیریت و ایجاد ویرایشگرهای محیط مجازی برای پروژههای پایتون خود داشته باشند.
Poetry از فایل pyproject.toml برای تعریف و مدیریت وابستگیهای پروژه استفاده میکند. این فایل شامل نام بسته، وابستگیها، نسخهها و سایر پیکربندیهای مورد نیاز برای پروژه است. با استفاده از Poetry، میتوانید وابستگیهای پروژه را به طور خودکار نصب کنید و محیط مجازی جدیدی برای هر پروژه ایجاد کنید.
علاوه بر مدیریت وابستگیها، Poetry امکانات دیگری مانند مدیریت نسخههای پایتون، اجرای دستورات پس از نصب وابستگیها، ساخت و توزیع بستههای پایتون و … را نیز فراهم میکند. با استفاده از Poetry، میتوانید به راحتی و به صورت خودکار فرآیند توسعه و مدیریت پروژههای پایتون خود را سادهتر کنید.
در کل، Poetry به عنوان یک ابزار مدیریت پروژه پایتون، برنامهنویسان را در فرآیند توسعه نرمافزارهای پایتون یاری میدهد و بهبود قابل توجهی در مدیریت وابستگیها و نصب بستهها ایجاد میکند.
محیط مجازی خودکار را برای پروژههای پایتون
Poetry به طور خودکار محیط مجازی را برای پروژههای پایتون ایجاد میکند. وقتی از Poetry برای ساخت و مدیریت پروژه استفاده میکنید، یک محیط مجازی جدید برای آن پروژه ایجاد میشود.
محیط مجازی، یک فضای جداگانه در سیستم عامل شماست که شامل نسخههای مختلف پایتون و بستههای مورد نیاز برای پروژههای مختلف است. با ایجاد محیط مجازی جدید برای هر پروژه، میتوانید از تداخل بین وابستگیها و نسخههای مختلف پایتون در پروژههای مختلف جلوگیری کنید.
هنگامی که از Poetry برای نصب وابستگیهای پروژه استفاده میکنید، Poetry ابتدا یک محیط مجازی جدید را برای پروژه ایجاد میکند. سپس وابستگیهای مورد نیاز را در این محیط مجازی نصب میکند. این کار باعث میشود که وابستگیهای پروژه شما به صورت مستقل از سیستم عامل و محیطهای مجازی دیگر نصب شوند.
با استفاده از محیط مجازی ایجاد شده توسط Poetry، میتوانید پروژههای پایتون خود را به راحتی جابجا کنید، با دیگران به اشتراک بگذارید و بدون تداخل با دیگر پروژههای پایتون در سیستم عامل خود کار کنید.
مزایا استفاده از Poetry
مدیریت وابستگیها: Poetry به شما کمک میکند تا وابستگیهای پروژهتان را به صورت دقیق و مدیریت شده تعریف کنید. با استفاده از فایل pyproject.toml، میتوانید لیست کاملی از وابستگیهای مورد نیاز پروژه خود را تعیین کنید و Poetry این وابستگیها را به طور خودکار نصب و بهروزرسانی میکند.
ایجاد محیط مجازی: با استفاده از Poetry، محیط مجازی جداگانهای برای هر پروژه ایجاد میشود. این امر به شما امکان میدهد وابستگیها و نسخههای مختلف پایتون را برای هر پروژه جداگانه مدیریت کنید و از تداخل بین آنها جلوگیری کنید.
سازگاری و همراهی با ابزارهای دیگر: Poetry با ابزارهای مختلفی همچون pip، setuptools و tox سازگار است و از آنها پشتیبانی میکند. همچنین، Poetry امکاناتی نظیر ساخت و توزیع بستههای پایتون، مدیریت نسخههای پایتون و اجرای دستورات پس از نصب را نیز فراهم میکند.
سادگی و قابلیت استفاده: Poetry برای برنامهنویسانی که با مفهوم محیط مجازی و مدیریت وابستگیها آشنایی کمی دارند، بسیار ساده و قابل استفاده است. با دستورات ساده Poetry میتوانید پروژههایتان را مدیریت کنید و از قابلیتهای آن بهرهبرداری کنید.
پشتیبانی از قالبهای فایل: Poetry از قالبهای فایل معروفی مانند requirements.txt و setup.py پشتیبانی میکند، بنابراین میتوانید پروژههای پیشین خود را با استفاده از Poetry به راحتی مهاجرت دهید.
در کل، Poetry با ارائه مدیریت قوی و مدرن بستهها، محیط مجازی وابسته به پروژه و قابلیت سادهسازی فرآیند توسعه، به برنامهنویسان پایتون کمک میکند تا فرآیند توسعه و مدیریت پروژههای خود را بهبود بخشند.
آموزش نصب Poetry
برای نصب Poetry، میتوانید مراحل زیر را دنبال کنید:
ابتدا مطمئن شوید که Python نسخه ۳.۷ یا بالاتر روی سیستم شما نصب شده است. برای اطمینان از نصب Python، میتوانید دستور زیر را در ترمینال یا پنجره دستورات سیستم عامل اجرا کنید:
python --version
پس از اطمینان حاصل کردن از نصب Python، میتوانید Poetry را با استفاده از ابزار مدیریت بستههای Python (مانند pip) نصب کنید. برای این کار، دستور زیر را در ترمینال یا پنجره دستورات سیستم عامل اجرا کنید:
pip install poetry
اگر شما از ویندوز استفاده میکنید و Python را از طریق Microsoft Store نصب کردهاید، ممکن است نیاز به استفاده از دستور زیر باشد:
py -m pip install poetry
بعد از اجرای دستور نصب، Poetry باید با موفقیت نصب شود. شما میتوانید با اجرای دستور زیر از طریق ترمینال یا پنجره دستورات سیستم عامل، اطمینان حاصل کنید که Poetry به درستی نصب شده است:
poetry --version
اگر خروجی نسخه Poetry را مشاهده کردید، به این معنی است که Poetry با موفقیت نصب شده است.
اکنون شما Poetry را با موفقیت نصب کردهاید و میتوانید از آن برای مدیریت بستههای پروژههای خود استفاده کنید.
فایل pyproject.toml چیست؟
فایل pyproject.toml یک فایل پیکربندی است که در پروژههای Python با استفاده از Poetry استفاده میشود. این فایل حاوی اطلاعات مربوط به پروژه شما، وابستگیهای بستهها، تنظیمات ساخت و منتشر کردن بسته و دیگر تنظیمات مربوط به Poetry است.
در فایل pyproject.toml، شما میتوانید اطلاعات زیر را تنظیم کنید:
- اطلاعات پروژه: شامل نام پروژه، نسخه، توضیحات و اطلاعات دیگری که میخواهید در مورد پروژهتان در اختیار دیگران قرار دهید.
- وابستگیهای پروژه: شما میتوانید وابستگیهای بستهها را در بخش
[tool.poetry.dependencies]
تعریف کنید. این بخش شامل نام بسته و نسخههای مورد نیاز است که پروژه شما برای اجرا به آنها وابسته است. - وابستگیهای توسعهیافته (dev dependencies): شما میتوانید وابستگیهای بستهها برای محیط توسعهیافته مانند ابزارهای تست و ایجاد مستندات را در بخش
[tool.poetry.dev-dependencies]
تعریف کنید. - تنظیمات ساخت: شما میتوانید تنظیمات مربوط به ساخت بستهها را در بخش
[build-system]
تعریف کنید. این تنظیمات شامل نوع بسته (مانند wheel یا sdist) و سایر تنظیمات ساخت است. - تنظیمات منتشر کردن: شما میتوانید تنظیمات مربوط به منتشر کردن بسته را در بخش
[tool.poetry.publishing]
تعریف کنید. مثلاً میتوانید مخازن عمومی (public repositories) مانند PyPI را تنظیم کنید.
فایل pyproject.toml به طور کلی یک فایل مهم است که تمام اطلاعات مربوط به پروژه و تنظیمات Poetry را در اختیار دارد. با ویرایش این فایل، میتوانید رفتار و عملکرد Poetry در پروژههای خود را تنظیم کنید.
آموزش نصب بسته با Poetry
برای نصب یک بسته با استفاده از Poetry، میتوانید مراحل زیر را دنبال کنید:
ابتدا اطمینان حاصل کنید که Poetry روی سیستم شما نصب شده است. برای اطمینان از نصب بودن Poetry، میتوانید دستور زیر را در ترمینال یا پنجره دستورات سیستم عامل خود اجرا کنید:
poetry --version
در مسیر پروژه خود، فایل pyproject.toml را باز کنید. این فایل شامل اطلاعات پروژه و وابستگیهای آن است.
به بخش dependencies
در فایل pyproject.toml رفته و بستهای که میخواهید نصب کنید را به عنوان وابستگی اضافه کنید. برای مثال، اگر میخواهید بسته requests را نصب کنید، میتوانید خط زیر را به فایل pyproject.toml اضافه کنید:
[tool.poetry.dependencies]
python = "^3.8"
requests = "^2.25.1"
پس از اضافه کردن وابستگی مورد نظر، در ترمینال یا پنجره دستورات سیستم عامل، دستور زیر را اجرا کنید تا بستههای وابسته نصب شوند:
poetry install
این دستور با توجه به اطلاعات موجود در فایل pyproject.toml وابستگیهای پروژه را نصب میکند.
بعد از اجرای دستور بالا، Poetry بستههای وابسته را نصب خواهد کرد و یک محیط مجازی برای پروژه خود ایجاد خواهد کرد. شما میتوانید این بستهها را در پروژه خود استفاده کنید.
با اجرای مراحل فوق، بستههای مورد نیاز پروژه شما با استفاده از Poetry نصب خواهند شد و آماده استفاده خواهند بود.
آموزش ایجاد پروژه جدید با Poetry
برای ایجاد یک پروژه جدید با استفاده از Poetry، میتوانید مراحل زیر را دنبال کنید:
ابتدا اطمینان حاصل کنید که Poetry روی سیستم شما نصب شده است. برای اطمینان از نصب بودن Poetry، میتوانید دستور زیر را در ترمینال یا پنجره دستورات سیستم عامل خود اجرا کنید:
poetry --version
در ترمینال یا پنجره دستورات سیستم عامل، به مسیری که میخواهید پروژه را در آن ایجاد کنید، بروید. حالا دستور زیر را اجرا کنید تا یک پروژه جدید با استفاده از Poetry ایجاد شود:
poetry new project_name
در این دستور، project_name
را با نام مورد نظر برای پروژهتان جایگزین کنید. به عنوان مثال:
poetry new my_project
با اجرای دستور بالا، Poetry یک پروژه جدید با نام project_name
ایجاد خواهد کرد. شما میتوانید وارد دایرکتوری پروژه شوید با استفاده از دستور زیر:
cd project_name
حالا میتوانید فایل pyproject.toml را باز کنید و وابستگیهای پروژه خود را در بخش dependencies
مشخص کنید. پس از مشخص کردن وابستگیها، میتوانید دستور poetry install
را اجرا کنید تا بستههای وابسته نصب شوند.
با اجرای مراحل فوق، یک پروژه جدید با استفاده از Poetry ایجاد خواهد شد و شما میتوانید با استفاده از Poetry بستههای وابسته را مدیریت کنید و کار خود را آغاز کنید.
انتقال پروژههای موجود با Poetry
بله، میتوانید پروژههای موجود خود را به Poetry منتقل کنید. برای انجام این کار، میتوانید مراحل زیر را دنبال کنید:
در ترمینال یا پنجره دستورات سیستم عامل، به دایرکتوری پروژه موجود خود بروید.
اگر فایل pyproject.toml در پروژه موجود وجود ندارد، شما میتوانید با دستور زیر یک فایل pyproject.toml جدید ایجاد کنید:
poetry init
این دستور شما را در ایجاد یک فایل pyproject.toml جدید هدایت میکند و شما باید اطلاعات مورد نیاز پروژه خود را مانند نام، نسخه Python، وابستگیها و غیره وارد کنید.
اگر فایل pyproject.toml در پروژه موجود وجود دارد، میتوانید وابستگیهای پروژه خود را در بخش dependencies
فایل pyproject.toml مشخص کنید. برای مثال:
[tool.poetry.dependencies]
python = "^3.8"
requests = "^2.25.1"
پس از مشخص کردن وابستگیها، شما میتوانید دستور poetry install
را اجرا کنید تا بستههای وابسته نصب شوند.
با اجرای مراحل فوق، پروژه موجود شما به Poetry منتقل خواهد شد و شما میتوانید از Poetry برای مدیریت وابستگیها و ادامه توسعه پروژه استفاده کنید.
مدیریت نسخهها مختلف
با استفاده از Poetry، شما میتوانید نسخههای مختلف پایتون و همچنین بستههای وابسته را مدیریت کنید. در زیر توضیحاتی در مورد مدیریت نسخهها با استفاده از Poetry آورده شده است:
مشخص کردن نسخه پایتون:
در فایل pyproject.toml، شما میتوانید نسخه مورد نظر پایتون را تعیین کنید. برای این کار، بخش tool.poetry.dependencies
را ویرایش کنید و نسخه مورد نظر را در کلید python
مشخص کنید. برای مثال:
[tool.poetry.dependencies]
python = "^3.8"
ایجاد محیط مجازی:
با اجرای دستور poetry install
، Poetry بستههای وابسته را نصب کرده و یک محیط مجازی برای پروژه شما ایجاد میکند. این محیط مجازی مستقل از سایر پروژهها در سیستم شما است و میتوانید بستههای نصب شده در آن را مدیریت کنید.
مدیریت بستههای وابسته:
با استفاده از Poetry، میتوانید بستههای وابسته را اضافه، حذف یا به روز رسانی کنید. برای اضافه کردن بستههای جدید، میتوانید بخش tool.poetry.dependencies
را در فایل pyproject.toml ویرایش کنید و بستههای جدید را به عنوان وابستگیها اضافه کنید. سپس با اجرای دستور poetry install
، بستههای جدید نصب خواهند شد.
استفاده از محیط فعلی:
با اجرای دستور poetry shell
، شما به محیط مجازی پروژه خود وارد میشوید و میتوانید دستورات پایتون را در این محیط اجرا کنید. این دستور به شما امکان میدهد با استفاده از نسخه پایتون و بستههای نصب شده در محیط فعلی کار کنید.
مدیریت نسخههای Poetry:
با استفاده از دستورات poetry env use
و poetry env list
، شما میتوانید نسخههای مختلف Poetry را مدیریت کنید. با استفاده از poetry env use
میتوانید به یک محیط مجازی Poetry خاص سوئیچ کنید و با استفاده از poetry env list
میتوانید لیستی از محیطهای مجازی Poetry موجود را مشاهده کنید.
منتشر کردن بسته با با Poetry
برای انتشار بستههای پایتون با استفاده از Poetry، میتوانید مراحل زیر را دنبال کنید:
- مطمئن شوید که در دایرکتوری پروژه خود هستید.
- در فایل pyproject.toml، اطمینان حاصل کنید که اطلاعات پروژه شما به درستی تنظیم شده است، از جمله نام، نسخه، توضیحات و اطلاعات دیگر.
- از طریق ترمینال یا پنجره دستورات سیستم عامل، دستور زیر را اجرا کنید تا بستههای وابسته نصب شوند:
poetry install
- اطمینان حاصل کنید که فایلهایی که باید در بسته شما قرار بگیرند (مانند فایلهای منبع، مستندات، فایلهای تنظیمات و غیره) درست تعریف شدهاند.
- برای ایجاد بسته، دستور زیر را اجرا کنید:
poetry build
این دستور یک بسته توزیع (distribution package) برای پروژه شما ایجاد میکند. بسته توزیع معمولاً شامل فایلهایی با پسوند wheel (.whl) و/یا sdist (.tar.gz) است.
- بستههای توزیع شده را میتوانید در دایرکتوری
dist
پیدا کنید که توسط Poetry ایجاد میشود. - برای انتشار بسته خود، میتوانید از مخازن عمومی (public repositories) مانند PyPI استفاده کنید. برای این کار، شما باید یک حساب کاربری در PyPI داشته باشید. بعد از ایجاد حساب کاربری، میتوانید از دستور
poetry publish
استفاده کنید تا بسته خود را به مخزن عمومی منتشر کنید. قبل از اجرای این دستور، اطمینان حاصل کنید که به حساب کاربری PyPI خود وارد شدهاید. برای منتشر کردن بسته به مخازن دیگر، شما باید تنظیمات مربوطه را در فایل pyproject.toml پیکربندی کنید. به عنوان مثال، برای استفاده از مخزن TestPyPI، بخشpublish
را به صورت زیر ویرایش کنید:
[build-system]
...
[tool.poetry.publishing]
repositories = ["testpypi"]
[[tool.poetry.publishing.repositories]]
name = "testpypi"
url = "https://test.pypi.org/legacy/"
token = "your-testpypi-token"
پس از انجام تنظیمات، میتوانید با استفاده از دستور poetry publish --repository <repository-name>
بسته خود را به مخزن مورد نظر منتشر کنید.
جمع بندی: آیا ابزار Poetry از پلتفرمهای دیگر پشتیبانی میکند؟
Poetry یک ابزار بسیار قدرتمند برای مدیریت وابستگیها و بستههای پایتون است. با ویژگیهای منحصر به فرد خود، Poetry زندگی برنامهنویسان را آسانتر میکند. با استفاده از این ابزار، شما میتوانید به راحتی وابستگیهای پروژه خود را مدیریت کنید، بستههای خود را منتشر کنید و از یکپارچگی بهتر با ابزارهای دیگر بهرهمند شوید.
به طور خلاصه، اگر به دنبال یک ابزار هستید که کارهای مدیریت بستهها را آسان کند و شما را از دردسرهای نصب و بهروزرسانی کتابخانهها رها کند، Poetry بهترین گزینه برای شماست.