مزایای کلیدی Pipenv
چگونه پروژه‌های پایتون خود را با Pipenv مدیریت کنیم؟
Pipenv یک ابزار مدیریت بسته پایتون است که بر پایه pip ساخته شده است و برای مدیریت وابستگی‌ها و محیط مجازی پروژه‌های پایتون مورد استفاده قرار می‌گیرد. با استفاده از Pipenv، می‌توانید وابستگی‌های پروژه را به صورت دقیق مدیریت کنید و مانع بروز تداخل با وابستگی‌های دیگر شوید. این ابزار مزایای قدرتمندی مثل سهولت در استفاده، ایجاد محیط مجازی به صورت خودکار، به‌روزرسانی مداوم و تکرارپذیری وابستگی‌ها را ارائه می‌کند.

Pipenv فایل‌های Pipfile و Pipfile.lock را برای مدیریت وابستگی‌ها استفاده می‌کند. فایل Pipfile شامل لیست وابستگی‌های پروژه و نسخه‌های مورد نیاز آنها است. به بیان دقیق‌تر، Pipfile.lock شامل لیست دقیقی از وابستگی‌ها و نسخه‌های مورد استفاده در پروژه است.

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

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

مزایای کلیدی Pipenv

از مزایای شاخص این ابزار به موارد زیر باید اشاره کرد:

  • مدیریت وابستگی‌ها: Pipenv امکان مدیریت وابستگی‌های پروژه را با استفاده از فایل Pipfile فراهم می‌کند. شما می‌توانید وابستگی‌های مورد نیاز پروژه را به صورت دقیق در این فایل مشخص کنید.
  • محیط مجازی خودکار: با استفاده از Pipenv، محیط مجازی برای پروژه‌هایتان به صورت خودکار ایجاد می‌شود. این محیط مجازی جداگانه از محیط سیستم عامل است و می‌توانید وابستگی‌های پروژه را در آن نصب کنید.
  • ضمین تکرارپذیری: با استفاده از فایل Pipfile.lock، Pipenv تضمین می‌کند که وابستگی‌های پروژه شما در سیستم‌های مختلف به یک شکل یکسان نصب می‌شوند.
  • دستورات ساده: Pipenv دارای دستورات ساده‌تری نسبت به pip و virtualenv است. با استفاده از دستوراتی مانند `pipenv install` و `pipenv shell`، می‌توانید به راحتی وابستگی‌ها را نصب کنید و وارد محیط مجازی پروژه شوید.
  • تعامل با PyPI: ابزار Pipenv از PyPI سرنام (Python Package Index) برای دریافت وابستگی‌ها و نسخه‌های مورد نیاز استفاده می‌کند. رویکرد فوق به شما امکان می‌دهد به سادگی وابستگی‌های جدید را به پروژه اضافه کنید.

اکوسیستم مدیریت بسته پایتون چیست؟

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

  • Pip: یک مدیر بسته استاندارد برای پایتون است. این ابزار به توسعه‌دهندگان امکان می‌دهد بسته‌های پایتون را نصب، حذف، به‌روزرسانی و مدیریت کنند. با استفاده از فایل `requirements.txt` می‌توانید وابستگی‌های پروژه را به صورت مشخص در نظر بگیرید.
  • Pipenv : یک ابزار مدیریت بسته پیشرفته‌تر است که بر پایه pip ساخته شده است و برای سادگی و دقت در مدیریت وابستگی‌های پروژه پایتون مورد استفاده قرار می‌گیرد. Pipenv از فایل‌های Pipfile و Pipfile.lock برای ذخیره‌سازی و مدیریت وابستگی‌ها استفاده می‌کند. همچنین، Pipenv امکاناتی مانند محیط مجازی (virtual environment) را نیز فراهم می‌کند.

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

Pipenv چگونه کار می‌کند؟

همان‌گونه که اشاره کردیم، Pipenv یک ابزار مدیریت بسته پایتون است که بر پایه pip ساخته شده است و برای مدیریت وابستگی‌ها و محیط مجازی پروژه‌های پایتون مورد استفاده قرار می‌گیرد. مکانیزم کاری Pipenv به شرح زیر است:

  • ایجاد محیط مجازی (Virtual Environment): اولین گام در استفاده از Pipenv، ایجاد محیط مجازی برای پروژه است. این ابزار یک محیط مجازی جداگانه‌ای از سیستم عامل ایجاد می‌کند و به شما امکان می‌دهد وابستگی‌های پروژه را جدا از سایر پروژه‌ها نصب کنید. برای ایجاد محیط مجازی، می‌توانید از دستور `pipenv install` استفاده کنید.
  • تولید فایل‌های Pipfile و Pipfile.lock: پس از ایجاد محیط مجازی، Pipenv دو فایل مهم به نام‌های Pipfile و Pipfile.lock را در پوشه پروژه ایجاد می‌کند. فایل Pipfile شامل لیست وابستگی‌های پروژه و نسخه‌های مورد نیاز آنها است. فایل Pipfile.lock شامل لیست دقیقی از وابستگی‌ها و نسخه‌های مورد استفاده در پروژه است.
  • نصب وابستگی‌ها: با استفاده از دستور pipenv install، ابزار فوق وابستگی‌های موجود در فایل Pipfile را بررسی و نصب می‌کند. این دستور ملزومات را بر اساس فایل Pipfile.lock از روی PyPI  یا منابع دیگر دریافت کرده و نصب می‌کند.
  • فعال‌سازی محیط مجازی: پس از نصب وابستگی‌ها، با استفاده از دستور `pipenv shell` می‌توانید وارد محیط مجازی پروژه شوید. این کار به شما امکان می‌دهد از محیط مجازی استفاده کنید و دستورات پایتون را در محیط مجازی اجرا کنید.
  • مدیریت وابستگی‌ها و به‌روزرسانی: وقتی که نیاز به اضافه کردن یا حذف وابستگی‌ها یا به‌روزرسانی آنها دارید، می‌توانید فایل Pipfile را ویرایش کنید و سپس با استفاده از دستور `pipenv install` تغییرات را اعمال کنید. Pipenv مجددا فایل Pipfile.lock را به‌روزرسانی می‌کند و وابستگی‌های جدید را نصب می‌کند.

استفاده از فایل Pipfile.lock: فایل Pipfile.lock برای استفاده‌های بعدی و تضمین تکرارپذیری وابستگی‌ها استفاده می‌شود.

چگونه یک پروژه را در Pipenv پیکربندی کنیم؟

برای پیکربندی یک پروژه در Pipenv، می‌توانید بر مبنای مراحل زیر گام بردارید:

نصب Pipenv: ابتدا باید Pipenv را در سیستم خود نصب کنید. اگر از pip استفاده می‌کنید، می‌توانید دستور زیر را در ترمینال اجرا کنید:

   pip install pipenv

ساخت محیط مجازی: برای شروع پروژه، وارد مسیر پروژه خود شوید و دستور زیر را اجرا کنید:

   pipenv install

   این دستور یک محیط مجازی جدید ایجاد می‌کند و فایل‌های Pipfile و Pipfile.lock را در دایرکتوری پروژه ایجاد می‌کند.

اضافه کردن وابستگی‌ها: برای اضافه کردن وابستگی‌ها به پروژه، می‌توانید از دستور `pipenv install` با همراه نام بسته استفاده کنید. برای مثال:

   pipenv install requests

   این دستور بسته requests را به پروژه اضافه می‌کند و اطلاعات آن در فایل‌های Pipfile و Pipfile.lock ذخیره می‌شود.

اجرای دستورات در محیط مجازی: برای اجرای دستورات در محیط مجازی پروژه، می‌توانید از دستور `pipenv run` استفاده کنید. برای مثال:

   pipenv run python script.py

   این دستور فایل script.py را در محیط مجازی پروژه اجرا می‌کند.

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

   pipenv shell

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

این مراحل کلی پیکربندی یک پروژه در Pipenv است. با استفاده از این ابزار، می‌توانید به طور مداوم وابستگی‌های پروژه خود را مدیریت کرده و به راحتی به محیط مجازی پروژه دسترسی پیدا کنید.

چگونه پروژه های پایتون خود را با Pipenv مدیریت کنیم؟

روند انجام این کار به شرح زیر است:

نصب Pipenv: قبل از هر چیز، باید Pipenv را نصب کنید. می‌توانید از دستور زیر برای نصب آن استفاده کنید:

   pip install pipenv

ایجاد یک پروژه جدید: برای ایجاد یک پروژه جدید و مدیریت بسته‌های آن با Pipenv، مراحل زیر را دنبال کنید:

   # ایجاد محیط مجازی و فایل Pipfile.lock

   pipenv install

   # نصب بسته‌های پروژه

   pipenv install package_name

   # نصب بسته با نسخه‌ی خاص

   pipenv install package_name==1.0.0

   # حذف یک بسته

   pipenv uninstall package_name

هنگامی که دستور `pipenv install` را اجرا می‌کنید، Pipenv یک محیط مجازی جدید ایجاد می‌کند و یک فایل Pipfile.lock برای شما تولید می‌کند که حاوی اطلاعات بسته‌های نصب شده و وابستگی‌ها است.

فعال‌سازی محیط مجازی: پس از نصب بسته‌های مورد نیاز در محیط مجازی، برای فعال‌سازی محیط مجازی و استفاده از بسته‌های نصب شده، دستور زیر را اجرا کنید:

   pipenv shell

با اجرای این دستور، شما وارد محیط مجازی Pipenv خواهید شد و می‌توانید از تمامی بسته‌های نصب شده در این محیط استفاده کنید.

استفاده از بسته‌های نصب شده: بعد از فعال‌سازی محیط مجازی، می‌توانید بسته‌های نصب شده را در پروژه خود استفاده کنید. برای مثال، اگر بسته‌ای به نام `requests` را نصب کرده باشید، می‌توانید آن را در کد پایتون خود به شکل زیر استفاده کنید:

   import requests

   response = requests.get('https://www.example.com')

   print(response.text)

   در این مثال، بسته `requests` را وارد کرده و از آن برای ارسال درخواست HTTP به وبسایت مثال استفاده کرده‌ایم.

خروج از محیط مجازی: بعد از اتمام کار در محیط مجازی Pipenv، می‌توانید از دستور `exit` یا `Ctrl + D` استفاده کنید تا از محیط مجازی خارج شوید.

چگونه می‌توانیم وابستگی‌های پروژه را در فایل Pipfile.lock مشاهده کنیم؟

برای مشاهده وابستگی‌های پروژه در فایل Pipfile.lock، از دستور زیر استفاده کنید:

pipenv lock --requirements

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

pipenv lock --requirements --output requirements.txt

این دستور، وابستگی‌های پروژه را به شکل خروجی pip در فایل requirements.txt ذخیره می‌کند که معمولا در پروژه‌هایی که از ابزارهایی مانند pip استفاده می‌کنند، کاربرد دارد.

اگر فقط می‌خواهید وابستگی‌ها را در خروجی مشاهده کنید بدون ذخیره آنها در یک فایل، می‌توانید از دستور زیر استفاده کنید:

pipenv lock --requirements --no-lock

این دستور، وابستگی‌های پروژه را به صورت خروجی pip نمایش می‌دهد بدون ایجاد یا به‌روزرسانی فایل Pipfile.lock. با استفاده از دستورات فوق، می‌توانید وابستگی‌های پروژه خود را در فایل Pipfile.lock مشاهده کنید و براساس نیاز خود به آنها دسترسی پیدا کنید.

چگونه می‌توانیم وابستگی‌های پروژه را به روز کنیم؟

برای به روزرسانی وابستگی‌های پروژه در Pipenv، می‌توانید از دستور `pipenv update` استفاده کنید. این دستور بررسی می‌کند که آیا وابستگی‌هایی که در فایل Pipfile تعریف شده‌اند، با نسخه‌های جدیدتری از بسته‌ها جایگزین شده‌اند یا خیر، و در صورت لزوم آنها را به روز می‌کند. اگر می‌خواهید فقط برخی از وابستگی‌ها را به روز کنید و سایر وابستگی‌ها را با نسخه‌های فعلی حفظ کنید، می‌توانید نام بسته‌های مورد نظرتان را به همراه دستور `update` استفاده کنید. به عنوان مثال:

pipenv update requests

در این مثال، فقط بسته `requests` به روزرسانی می‌شود و سایر وابستگی‌ها با نسخه‌های فعلی حفظ می‌شوند. همچنین، اگر می‌خواهید تمامی وابستگی‌ها را به نسخه‌های جدیدتر به روز کنید، می‌توانید از دستور `--all` استفاده کنید. به عنوان مثال:

pipenv update --all

در این حالت، تمامی وابستگی‌های پروژه به نسخه‌های جدیدتری که در دسترس هستند، به روزرسانی می‌شوند. بعد از اجرای دستور به‌روزرسانی، Pipenv تلاش می‌کند وابستگی‌ها را به روز کند و فایل Pipfile.lock را به‌روزرسانی کند تا از نسخه‌های جدیدتر بسته‌ها استفاده کنید.

به هر حال، قبل از به روزرسانی وابستگی‌ها، توصیه می‌شود که از قابلیت‌های پشتیبانی و بازگشت به وضعیت قبلی Pipenv استفاده کنید. برای این کار، می‌توانید از دستور `pipenv lock --pre` استفاده کنید تا یک نسخه پشتیبان از فایل Pipfile.lock تولید شود که در صورت نیاز به بازگشت به وضعیت قبلی، از آن استفاده کنید.

چگونه می‌توانیم به وضعیت قبلی Pipenv بازگردیم؟

برای بازگشت به وضعیت قبلی پروژه در Pipenv، می‌توانید از دستور `pipenv install --ignore-pipfile` استفاده کنید. این دستور با استفاده از فایل Pipfile.lock، وابستگی‌های پروژه را به وضعیت قبلی بازگردانده و نصب می‌کند. با اجرای دستور فوق، Pipenv ابتدا فایل Pipfile.lock را بررسی می‌کند و وابستگی‌های موجود در آن را نصب می‌کند. با این کار، به وضعیت قبلی پروژه بازگشته و وابستگی‌ها را با نسخه‌های مشخص شده در فایل Pipfile.lock نصب می‌کند. در صورتی که فایل Pipfile.lock وجود نداشته باشد، Pipenv به جای آن از فایل Pipfile استفاده می‌کند و وابستگی‌ها را براساس آن نصب می‌کند.

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

cp Pipfile.lock Pipfile.lock.backup

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

Pipenv و lockfiles چیستند؟

در Pipenv،  فایل lockfile به Pipfile.lock اشاره دارد. فایل Pipfile.lock یک فایل قفل است که شامل لیست دقیقی از وابستگی‌ها و نسخه‌های مورد استفاده در پروژه است. این فایل توسط Pipenv به صورت خودکار ایجاد می‌شود و معمولا در کنار فایل Pipfile قرار می‌گیرد. Lockfile در Pipenv به عنوان یک منبع اصلی برای تعیین و نصب وابستگی‌های پروژه استفاده می‌شود. با اطلاعات موجود در lockfile، Pipenv می‌تواند وابستگی‌ها را با دقت نصب کرده و تضمین کند که نسخه‌های مورد استفاده در هر بار نصب تکرارپذیر باشد. به عبارت دیگر، lockfile اطمینان می‌دهد که همه اعضای تیم توسعه در پروژه از وابستگی یکسانی استفاده می‌کنند و همچنین در محیط‌های توسعه و تولید به صورتی یکسان عمل می‌کنند.

Lockfile شامل اطلاعاتی از جمله نام و نسخه وابستگی‌ها، شناسه‌های checksum برای کنترل اصالت فایل‌های وابستگی، مسیرهای مشخص شده برای بارگیری وابستگی‌ها و سایر اطلاعات مربوط به وابستگی‌ها است. با استفاده از این اطلاعات، Pipenv می‌تواند وابستگی‌ها را به صورت دقیق و قابل تکرار نصب کند. به طور خلاصه، lockfile در Pipenv مسئول ثبت نسخه‌های وابستگی‌ها و ایجاد تضمین تکرارپذیری در نصب وابستگی‌ها است.

چگونه می‌توانیم lockfile را در Pipenv ایجاد کنیم؟

برای ایجاد lockfile در Pipenv، شما باید دستور `pipenv install` را اجرا کنید. این دستور بر اساس فایل Pipfile، وابستگی‌های پروژه را نصب کرده و lockfile را ایجاد می‌کند. مراحل انجام این کار به شرح زیر است:

به پوشه پروژه خود بروید و وارد دایرکتوری پروژه شوید. مطمئن شوید که فایل Pipfile در این دایرکتوری وجود دارد.

در مرحله بعد دستور `pipenv install` را در ترمینال یا پنجره فرمان خود اجرا کنید. این دستور پکیج‌های مورد نیاز پروژه را نصب می‌کند و lockfile را ایجاد می‌کند. اگر فایل Pipfile.lock قبلا وجود داشته باشد، Pipenv از اطلاعات موجود در آن استفاده می‌کند و وابستگی‌ها را بر اساس آن نصب می‌کند.

   pipenv install

در مرحله بعد باید وابستگی‌ها ایجاد و نصب شوند. Pipenv پکیج‌های مورد نیاز را بر اساس فایل Pipfile نصب می‌کند و اطلاعات مربوط به وابستگی‌ها و نسخه‌های مورد استفاده در فایل Pipfile.lock ذخیره می‌شود. در صورتی که پکیج‌ها قبلا نصب شده باشند و تغییری در فایل Pipfile ایجاد نشده باشد، Pipenv از lockfile موجود استفاده می‌کند و نصب مجدد انجام نمی‌دهد.

با اجرای دستور pipenv install، فایل  lockfile جدیدی ایجاد می‌شود یا lockfile موجود بروزرسانی می‌شود. در ادامه، می‌توانید از lockfile برای تضمین تکرارپذیری نصب وابستگی‌ها در پروژه خود استفاده کنید.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟