آموزش pip در پایتون: دستورهای کاربردی مدیریت پکیج + ویدئو

خرید بک لینک
<a href='/last-search/?q=آموزش'>آموزش</a> <a href='/last-search/?q=مدیریت'>مدیریت</a> <a href='/last-search/?q=پکیج'>پکیج</a> با <a href='/last-search/?q=دستورهای'>دستورهای</a> pip در <a href='/last-search/?q=پایتون'>پایتون</a>

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

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

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

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

فیلم آموزش این مبحث

17:00

برای عضویت در دوره ویدئویی می‌تونید به «دوره جامع پایتون در کالج» مراجعه کنید. با ثبت‌نام رایگان در دوره، به تمام جلسات اصلی، جلسات تکمیلی، تمرین‌ها، آزمون‌ها و منابع مازاد دسترسی کامل خواهید داشت. (+ گواهی‌نامه پایان دوره با قابلیت استعلام آنلاین)

فهرست محتوای آموزش

ابزار مدیریت پکیج pip پایتون چیست؟

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

فرض کنید می‌خواهیم از پکیج A استفاده کنیم. این پکیج به پکیج‌های B و C وابسته است. یعنی برای اجرای A، باید حتماً کدها و فایل‌های B و C را نیز دانلود کنیم و در کنار A قرار دهیم. همچنین ممکن است B به ماژول‌های D و E وابسته باشد و الی آخر. وابستگی بین پکیج‌ها می‌تواند به‌صورت درختی و گاهی پیچیده باشد.

مدیریت دستی این وابستگی‌ها (و دانلود پکیج‌های مورد نیاز به‌صورت سلسله مراتبی) سخت و زمان‌بر است. حال موقعیتی را فرض کنید که علاوه بر وابستگی پکیج‌ها، مثلاً پکیج A فقط با بعضی از نسخه‌های پکیج B سازگار باشد و با نسخه‌های دیگری به درستی اجرا نشود.

برای راحت‌تر شدن دانلود، نصب و مدیریت پکیج‌ها، از ابزارهای مدیریت پکیج (مدیریت بسته یا Package Manager) در زبان‌های برنامه‌نویسی استفاده می‌کنیم. محبوب‌ترین و پر استفاده‌ترین ابزار مدیریت پکیج در پایتون، ابزار pip است.

ابزار pip در پایتون به‌طور پیش‌فرض پکیج‌ها را از مخزن رسمی‌ای به نام pypi.org دانلود می‌کند و:

  • آن‌ها را نصب می‌کند (فایل‌های کد را در مسیر مشخص و مناسبی در سیستم قرار می‌دهد)
  • وابستگی‌ها را مدیریت می‌کند؛ یعنی پکیج‌های مورد نیاز را به‌طور خودکار دانلود و نصب می‌کند.
  • امکان آپدیت و حذف پکیج‌ها را به ما می‌دهد.
  • امکان مشاهده جزئیات پکیج‌ها و وضعیت ماژول‌های مورد استفاده در کد را در اختیارمان می‌گذارد.

دستورهای pip

دستورهای pip معمولاً ساختاری شبیه به زیر دارند:

pip <command> [options]

مقدار <command> کاری است که می‌خواهیم انجام شود. این دستور را از دستورهای زیر انتخاب می‌کنیم. بخش [options] در برخی دستورها وجود دارد و در برخی دیگر خیر؛ این قسمت جزئیات و سایر پارامترهای موردنیاز برای دستور را مشخص می‌کند.

این دستور را در محیط Terminal سیستم عامل اجرا می‌کنیم. در محیط ویندوز، می‌توان از CMD یا PowerShell نیز استفاده کرد.

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

python -m pip <command> [options]
خطای pip not recognized در پایتون
خطای pip not recognized در پایتون

کاربران لینوکس توجه داشته باشند که دستور pip <command> به ابزار pip روی نسخه دوم پایتون اشاره دارد و دستور pip3 <command> به pip روی نسخه سوم. مگرنه اینکه خودتان برای آن aliasing انجام دهید.

نصب پکیج با pip install در پایتون

برای نصب یک پکیج از مخزن از دستور install استفاده می‌کنیم. برای این دستور، باید نام پکیج مورد نظر را مشخص کنیم. این نام را ممکن است از فرد دیگری گرفته باشیم، در آموزشی دیدده باشیم یا از صفحه مستندات و صفحه پکیج در PyPI برداشته باشیم.

pip install PACKAGE_NAME

برای مثال، اگر بخواهیم پکیجی به نام art را به‌همراه تمام وابستگی‌های لازم دانلود و نصب کنیم، یکی از دو دستور زیر را اجرا می‌کنیم:

pip install artpython -m pip install art

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

نمونه فرآیند نصب پکیج با pip در پایتون
نمونه فرآیند نصب پکیج با pip در پایتون

می‌بینید که در خطوط انتهای عبارت Successfully installed art-6.5 نوشته شده است. به این معنی که پکیج art نسخه 6.5 با موفقیت روی سیستم ما دانلود شده و آماده استفاده است.

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

در صورتی که نیاز داشتید نسخه خاصی از یک پکیج را نصب کنید، می‌توانید مشابه ساختار دستور pip زیر، شماره نسخه موردنظر را مشخص نمایید:

pip install PACKAGE_NAME==VERSION

مثلاً برای نصب نسخه 5.8 پکیج art دستور زیر را اجرا می‌کنیم:

pip install art==5.8

آپدیت پکیج با install –upgrade

برای نصب آخرین نسخه یک پکیج (یا آپدیت نسخه موجود به آخرین نسخه)، به دستور install ویژگی --upgrade را اضافه می‌کنیم. چیزی شبیه به دستور زیر:

pip install --upgrade PACKAGE_NAME

به‌جای PACKAGE_NAME می‌بایست نام پکیج مورد نظر را قرار دهیم.

حذف پکیج با pip uninstall پایتون

برای حذف یک پکیج از سیستم، از دستور uninstall استفاده می‌کنیم. در این حالت، فایل‌های مربوط به پکیج یا ماژول موردنظر از روی سیستم به‌طور کامل حذف می‌شود. بنابراین اگر کدی داشته باشیم که از این پکیج استفاده کند، پس از حذف آن، با خطای Module Not Found مواجه می‌شویم.

pip uninstall PACKAGE_NAMEpython -m pip uninstall PACKAGE_NAME
خطای پیدا نکردن ماژول یا پکیج پس از حذف با pip
خطای پیدا نکردن ماژول یا پکیج پس از حذف با pip

می‌دانید که برای مدیریت خطاهای احتمالی، می‌توانیم از ساختار مدیریت خطا با try-except در پایتون استفاده کنیم.

مشاهده پکیج‌ها در pip

برای مشاهده لیست تمام پکیج‌های نصب‌شده روی سیستم از دستور list استفاده می‌شود.

pip listpython -m pip list

همچنین، برای مشاهده جزئیات و اطلاعات یک پکیج خاص، از دستور show استفاده می‌شود.

pip show PACKAGE_NAMEpython -m pip show PACKAGE_NAME

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

نمونه خروجی نمایش مخشخصات پکیج نصب‌شده با دستور pip show
نمونه خروجی نمایش مخشخصات پکیج نصب‌شده با دستور pip show

ذخیره و بررسی وابستگی‌های پروژه با pip

دستور pip freeze به ما کمک می‌کند تا لیستی از تمام پکیج‌های نصب‌شده در محیط پایتون را ببینیم. این لیست حاوی نام پکیج و نسخه (version) هر کدام است.

pip freezepython -m pip freeze

از این دستور معمولاً برای ایجاد فایل requirements در پایتون استفاده می‌شود.

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

pip checkpython -m pip check

نکات مدیریت وابستگی با دستورهای pip

یکی از روش‌های مرسوم و توصیه‌شده برای مدیریت وابستگی‌ها در یک پروژه پایتونی، استفاده از فایل requirements.txt است. این فایل شامل نام پکیج و نسخه‌های موردنیاز برای پروژه است. مثلاً محتوایی شبیه به باکس زیر دارد:

requests==2.32.5
pandas>=2.2.0
نمونه محتوای فایل requirements یا pip freeze
نمونه محتوای فایل requirements یا pip freeze

این خطوط مشخص می‌کنند که پروژه‌ی ما، به پکیج requests نسخه 2.32.5 و پکیج pandas نسخه‌های بالاتر از 2.2.0 وابسته است.

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

pip install -r requirements.txtpython -m install -r requirements.txt

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

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

برای آشنایی با نحوه ایجاد env در پایتون، به آموزش زیر مراجعه کنید.

خطاهای رایج pip پایتون

در این بخش از آموزش دستورهای pip، سه خطای متداولی که ممکن است هنگام کار با pip با آن‌ها مواجه شوید را بررسی می‌کنم.

خطای SSL یا اتصال

گاهی به‌خاطر مشکلات شبکه اینترنت و عدم امکان اتصال به مخزن جهت دانلود پکیج‌ها یا وجود مشکل در ایجاد ارتباط SSL، با خطایی شبیه به زیر روبه‌رو می‌شویم:

There was a problem confirming the ssl certificate

راه‌حل این خطا بررسی اتصال اینترنت یا استفاده از ابزارهای تغییر ip است.

خطای Permission Denied

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

PermissionError: [Ero 13] Permission denied

این مشکل معمولاً با افزونه ویژگی --user به دستور pip رفع می‌شود.

pip install PACKAGE_NAME --user

اگر این مشکل همچنان پابرجا بود، می‌توانید command line را در حالت Run as Administrator باز کنید. اگر کاربر لینوکس هستید، می‌توانید از دستور sudo استفاده کنید.

sudo pip install PACKAGE_NAME

خطای ناسازگاری نسخه (Version Conflict)

گاهی به دلیل وجود تداخل میان نسخه‌های پکیج‌هایی که در حال نصب آن‌ها هستیم، ممکن است با خطای Conflicting Dependencies در pip پایتون مواجه شویم.

ERROR: Cannot install X and Y because these packags version have conflicting dependencies.

این پیام می‌گوید که پکیج‌های X و Y به درستی نصب نشده‌اند چون تداخلی بین نسخه‌های آن‌ها و وابستگی‌هایشان وجود دارد.

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

مرور آموزش pip پایتون

در این آموزش با ابزار pip به‌عنوان محبوب‌ترین ابزار مدیریت پکیج پایتون آشنا شدیم. به کمک دستورهای pip می‌توان:

  • پکیج‌ها را نصب، حذف یا آپدیت کرد.
  • نسخه‌های پکیج‌ها و مشخصاتشان را مشاهده یا ذخیره نمود.
  • وابستگی‌های یک پروژه را با سادگیِ بیشتر مدیریت کرد.

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

اگر سؤال یا چالشی در کار با pip پایتون دارید، در بخش دیدگاه‌ها مطرح کنید تا راهنمایی‌تان کنم.

سون لرن • آموزش...

ما را در سایت سون لرن • آموزش دنبال می‌کنید

برچسب: نویسنده: استخدام کار بازدید: 31 تاريخ: دوشنبه 26 آبان 1404 ساعت: 17:40

صفحه بندی

خبرنامه