برنامه نویسی

مدیریت وابستگی در پایتون با استفاده از شعر

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

  • وابستگی ها
    وابستگی ها کتابخانه ها یا ماژول های خارجی هستند که یک پروژه برای عملکرد به آنها متکی است. اینها می توانند از کتابخانه های استاندارد موجود با پایتون تا بسته های شخص ثالث موجود در مخازن مانند PyPI (شاخص بسته پایتون) متغیر باشند.

  • ابزارهای مدیریت وابستگی
    ابزارهایی مانند:

    • pip: نصب کننده بسته پیش فرض برای Python. از requires.txt برای فهرست کردن وابستگی ها و نسخه های آنها استفاده می کند.
    • virtualenv: محیط های پایتون ایزوله را برای مدیریت وابستگی ها برای پروژه های مختلف به طور مستقل ایجاد می کند.
    • venv: عملکردی مشابه virtualenv را ارائه می دهد اما در پایتون تعبیه شده است.
    • conda: یک مدیریت بسته و سیستم مدیریت محیطی که از چندین زبان پشتیبانی می کند.
    • شعر: ابزاری مدرن برای مدیریت وابستگی و بسته‌بندی. از pyproject.toml برای مشخص کردن تنظیمات و وابستگی‌های پروژه استفاده می‌کند.

Poetry ابزاری برای مدیریت وابستگی و بسته بندی در پایتون است. این به شما امکان می دهد کتابخانه هایی را که پروژه شما به آنها وابسته است را اعلام کنید و آنها را برای شما مدیریت (نصب/به روز رسانی) می کند. Poetry یک فایل قفل برای اطمینان از نصب های تکرارپذیر ارائه می دهد و می تواند پروژه شما را برای توزیع بسازد.

فایل Pyproject.toml

pyproject.toml یک فایل پیکربندی است که توسط ابزارهای بسته بندی مانند شعر استفاده می شود.
مثال

[tool.poetry]
name = "poetry-test"
version = "0.2.0"
description = ""
authors = ["None"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
requests = "^2.30.0"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب و راه اندازی

شعر به پایتون 3.8+ نیاز دارد

curl -sSL https://install.python-poetry.org | python3 -

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

  • شعر را به مسیر خود اضافه کنید (متغیرهای محیطی)

بسته به سیستم خود مسیرهای زیر را به متغیر PATH اضافه کنید.
$HOME/.local/bin در یونیکس
%APPDATA%\Python\Scripts در ویندوز

poetry --version: بررسی کنید که شعر به درستی نصب شده و به $PATH اضافه شده است.

استفاده

poetry new : یک پروژه جدید پایتون را با ایجاد یک دایرکتوری جدید با ساختار پروژه استاندارد پایتون شروع می کند.

new-package
  new-package
      __init__.py
  tests
      __init__.py
  pyproject.toml
  README.md   
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

poetry init: یک دایرکتوری را با درخواست از شما برای ارائه جزئیات پروژه و وابستگی های آن به صورت تعاملی راه اندازی می کند.
poetry config virtualenvs.in-project true: ایجاد محیط های مجازی در دایرکتوری پروژه.Poetry به طور پیش فرض یک محیط مجازی تحت {cache-dir}/virtualenvs ایجاد می کند.
poetry shell : محیط مجازی ایجاد شده را فعال کنید.
poetry add : یک وابستگی به پروژه شما اضافه می کند. با این کار جنگو به فایل pyproject.toml شما اضافه می شود و django نصب می شود.

# Allow >=2.0.0, <3.0.0 versions i.e minor version
poetry add requests^2.0.0

# Allow >=2.0.0, <2.1.0 versions i.e patch versions
poetry add requests~2.0.0

# Allow only a specific version
poetry add requests==2.0.0 | poetry add requests@2.0.0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

poetry add --dev : افزودن وابستگی هایی که فقط در توسعه مورد نیاز است. Pytest به عنوان یک وابستگی توسعه اضافه می شود.
poetry remove : بسته ای را از لیست فعلی بسته های نصب شده حذف می کند.
poetry show: لیست تمام بسته های موجود.
poetry show : لیست جزئیات مربوط به یک بسته خاص.
poetry version: نسخه فعلی پروژه را نشان می دهد.
poetry version : نسخه پروژه را بامپ می کند و در pyproject.toml می نویسد.
poetry list: تمام دستورات Poetry موجود را نمایش می دهد.
poetry install: فایل pyproject.toml را از پروژه فعلی می خواند، وابستگی ها را حل می کند و آنها را نصب می کند.

دستورات
وارد کردن فایل requires.txt موجود به شعر
فایل pyproject

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا