
یکی از مهارتهای مهم در برنامهنویسی پایتون، کار با ابزار pip پایتون و نحوه مدیریت پکیجهاست. در این آموزش با ابزار و دستورهای مهم pip آشنا میشویم. بهگونهای که بتوانیم نصب، بهروزرسانی، حذف و مشاهده پکیجها را انجام دهیم.
در بسیاری از پروژهها، اجباری به توسعه و کدنویسی همه امکانات از صفر نداریم. برای مثال، برای کار با تاریخ و زمان، ارسال درخواستهای HTTP، ایجاد نمودارهای گرافیکی، ایجاد رابط گرافیکی یا GUI در پایتون و حتی پردازش داده و هوش مصنوعی، میتوانیم از پکیجهای آماده استفاده کنیم.
این پکیجها توسط سایر توسعهدهندگان ایجاد شده و معمولاً بهروزرسانی میشوند. ما صرفاً با import کردن و استفاده از این پکیجها میتوانیم کارهای جالبی انجام دهیم که در حالت عادی ممکن بود ساعتها وقت برای پیادهسازی آنها بگذاریم.
برای استفاده از این پکیجها و ماژولها، ابتدا باید فایلهای کدشان را دانلود کرده و سپس در کنار فایل پروژه یا یک مسیر مشخص قرار دهیم. سپس میتوانیم مشابه آنچه که در جلسههای آموزش ماژول در پایتون و پکیج در پایتون آموختیم، از آنها استفاده کنیم.
17:00
برای عضویت در دوره ویدئویی میتونید به «دوره جامع پایتون در کالج» مراجعه کنید. با ثبتنام رایگان در دوره، به تمام جلسات اصلی، جلسات تکمیلی، تمرینها، آزمونها و منابع مازاد دسترسی کامل خواهید داشت. (+ گواهینامه پایان دوره با قابلیت استعلام آنلاین)
فهرست محتوای آموزش
در بعضی موارد، پکیجی که میخواهیم از آن استفاده کنیم، خودش به یک یا چند پکیج دیگر وابسته است. یعنی برای عملکرد صحیح، باید سایر پکیجها یا ماژولهای جانبی را نیز دانلود و استفاده کنیم. به این ارتباطات اصطلاحاً وابستگی یا Dependency گفته میشود.
فرض کنید میخواهیم از پکیج A استفاده کنیم. این پکیج به پکیجهای B و C وابسته است. یعنی برای اجرای A، باید حتماً کدها و فایلهای B و C را نیز دانلود کنیم و در کنار A قرار دهیم. همچنین ممکن است B به ماژولهای D و E وابسته باشد و الی آخر. وابستگی بین پکیجها میتواند بهصورت درختی و گاهی پیچیده باشد.
مدیریت دستی این وابستگیها (و دانلود پکیجهای مورد نیاز بهصورت سلسله مراتبی) سخت و زمانبر است. حال موقعیتی را فرض کنید که علاوه بر وابستگی پکیجها، مثلاً پکیج A فقط با بعضی از نسخههای پکیج B سازگار باشد و با نسخههای دیگری به درستی اجرا نشود.
برای راحتتر شدن دانلود، نصب و مدیریت پکیجها، از ابزارهای مدیریت پکیج (مدیریت بسته یا Package Manager) در زبانهای برنامهنویسی استفاده میکنیم. محبوبترین و پر استفادهترین ابزار مدیریت پکیج در پایتون، ابزار pip است.
ابزار pip در پایتون بهطور پیشفرض پکیجها را از مخزن رسمیای به نام pypi.org دانلود میکند و:
دستورهای pip معمولاً ساختاری شبیه به زیر دارند:
pip <command> [options]مقدار <command> کاری است که میخواهیم انجام شود. این دستور را از دستورهای زیر انتخاب میکنیم. بخش [options] در برخی دستورها وجود دارد و در برخی دیگر خیر؛ این قسمت جزئیات و سایر پارامترهای موردنیاز برای دستور را مشخص میکند.
این دستور را در محیط Terminal سیستم عامل اجرا میکنیم. در محیط ویندوز، میتوان از CMD یا PowerShell نیز استفاده کرد.
در صورتی که سیستم شما قادر به شناسایی دستور pip نبود و با خطایی مشابه با تصویر زیر مواجه شدید، میتوانید از دستور جایگزین زیر استفاده کنید:
python -m pip <command> [options]
کاربران لینوکس توجه داشته باشند که دستور pip <command> به ابزار pip روی نسخه دوم پایتون اشاره دارد و دستور pip3 <command> به pip روی نسخه سوم. مگرنه اینکه خودتان برای آن aliasing انجام دهید.
برای نصب یک پکیج از مخزن از دستور install استفاده میکنیم. برای این دستور، باید نام پکیج مورد نظر را مشخص کنیم. این نام را ممکن است از فرد دیگری گرفته باشیم، در آموزشی دیدده باشیم یا از صفحه مستندات و صفحه پکیج در PyPI برداشته باشیم.
pip install PACKAGE_NAMEبرای مثال، اگر بخواهیم پکیجی به نام art را بههمراه تمام وابستگیهای لازم دانلود و نصب کنیم، یکی از دو دستور زیر را اجرا میکنیم:
pip install art
python -m pip install artدر صورتی که فرآیند دانلود و نصب پکیج موفقیتآمیز باشد، با پیامی مشابه زیر مواجه میشویم.

میبینید که در خطوط انتهای عبارت 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 را اضافه میکنیم. چیزی شبیه به دستور زیر:
pip install --upgrade PACKAGE_NAMEبهجای PACKAGE_NAME میبایست نام پکیج مورد نظر را قرار دهیم.
برای حذف یک پکیج از سیستم، از دستور uninstall استفاده میکنیم. در این حالت، فایلهای مربوط به پکیج یا ماژول موردنظر از روی سیستم بهطور کامل حذف میشود. بنابراین اگر کدی داشته باشیم که از این پکیج استفاده کند، پس از حذف آن، با خطای Module Not Found مواجه میشویم.
pip uninstall PACKAGE_NAME
python -m pip uninstall PACKAGE_NAME
میدانید که برای مدیریت خطاهای احتمالی، میتوانیم از ساختار مدیریت خطا با try-except در پایتون استفاده کنیم.
برای مشاهده لیست تمام پکیجهای نصبشده روی سیستم از دستور list استفاده میشود.
pip list
python -m pip listهمچنین، برای مشاهده جزئیات و اطلاعات یک پکیج خاص، از دستور show استفاده میشود.
pip show PACKAGE_NAME
python -m pip show PACKAGE_NAMEاین دستور، اطلاعاتی نظیر نام پکیج، توضیحات مختصر، مشخصات سازنده، سایت یا گیتهاب، مسیر نصب و وابستگیهای پکیج را به ما نشان میدهد. بهعنوان مثال، در تصویر زیر نمونهای از این مشخصات را میبینید:

دستور pip freeze به ما کمک میکند تا لیستی از تمام پکیجهای نصبشده در محیط پایتون را ببینیم. این لیست حاوی نام پکیج و نسخه (version) هر کدام است.
pip freeze
python -m pip freezeاز این دستور معمولاً برای ایجاد فایل requirements در پایتون استفاده میشود.
دستور pip check بررسی میکند که آیا پکیجهای نصبشده در محیط پایتونی ما، با یکدیگر سازگار هستند یا خیر. این دستور وابستگی پکیجها به نسخههای خاص و شرایط خاص را بررسی میکند و در صورت وجود تداخل بین وابستگیها، آن را مشخص میکند.
pip check
python -m pip checkیکی از روشهای مرسوم و توصیهشده برای مدیریت وابستگیها در یک پروژه پایتونی، استفاده از فایل requirements.txt است. این فایل شامل نام پکیج و نسخههای موردنیاز برای پروژه است. مثلاً محتوایی شبیه به باکس زیر دارد:
requests==2.32.5
pandas>=2.2.0

این خطوط مشخص میکنند که پروژهی ما، به پکیج requests نسخه 2.32.5 و پکیج pandas نسخههای بالاتر از 2.2.0 وابسته است.
برای نصب پکیجهای این فایل، از یکی از دستورهای pip زیر استفاده میکنیم:
pip install -r requirements.txt
python -m install -r requirements.txtدر چند جلسه جلوتر از دوره جامع آموزش پایتون، کاربردها، نحوه استفاده و نکات این فایل را با هم بررسی کردهایم. میتوانید به جلسهاش مراجعه کنید:
معمولاً پیشنهاد میشود که برای جلوگیری از تداخل نسخههای مختلف پکیجها در پروژههای مختلف، از محیط مجازی (venv) استفاده شود. محیط مجازی یا Virtual Environment یک محیط جدا برای نصب پکیجها متناسب با هر پروژه در اختیار ما قرار میدهد.
برای آشنایی با نحوه ایجاد env در پایتون، به آموزش زیر مراجعه کنید.
در این بخش از آموزش دستورهای pip، سه خطای متداولی که ممکن است هنگام کار با pip با آنها مواجه شوید را بررسی میکنم.
گاهی بهخاطر مشکلات شبکه اینترنت و عدم امکان اتصال به مخزن جهت دانلود پکیجها یا وجود مشکل در ایجاد ارتباط SSL، با خطایی شبیه به زیر روبهرو میشویم:
There was a problem confirming the ssl certificate
راهحل این خطا بررسی اتصال اینترنت یا استفاده از ابزارهای تغییر ip است.
گاهی به دلیل عدم داشتن دسترسی کافی برای کپی فایلهای پکیج به مسیر خاص pip، ممکن است با خطای دسترسی در نصب پکیج با pip پایتون مواجه شوید. چیزی شبیه به پیام زیر:
PermissionError: [Errno 13] Permission denied
این مشکل معمولاً با افزونه ویژگی --user به دستور pip رفع میشود.
pip install PACKAGE_NAME --userاگر این مشکل همچنان پابرجا بود، میتوانید command line را در حالت Run as Administrator باز کنید. اگر کاربر لینوکس هستید، میتوانید از دستور sudo استفاده کنید.
sudo pip install PACKAGE_NAMEگاهی به دلیل وجود تداخل میان نسخههای پکیجهایی که در حال نصب آنها هستیم، ممکن است با خطای Conflicting Dependencies در pip پایتون مواجه شویم.
ERROR: Caot install X and Y because these packags version have conflicting dependencies.
این پیام میگوید که پکیجهای X و Y به درستی نصب نشدهاند چون تداخلی بین نسخههای آنها و وابستگیهایشان وجود دارد.
راهحل رفع این مشکل، بررسی و همکاهنگسازی نسخههای پکیجها یا استفاده از محیط مجازی (venv) است.
در این آموزش با ابزار pip بهعنوان محبوبترین ابزار مدیریت پکیج پایتون آشنا شدیم. به کمک دستورهای pip میتوان:
پیشنهاد میکنم برای تمرین، پکیج art را مشابه ویدئوی آموزشی این جلسه نصب کرده و در یک قطعه کد ساده از آن استفاده کنید.
اگر سؤال یا چالشی در کار با pip پایتون دارید، در بخش دیدگاهها مطرح کنید تا راهنماییتان کنم.
این آموزش برای همیشه رایگانه! میتونید با اشتراکگذاری لینک این صفحه از ما حمایت کنید یا با خرید یه فنجون نوشیدنی بهمون انرژی بدید!
میخوام یه نوشیدنی مهمونتون کنم
برچسب:
نویسنده: استخدام کار