یکی از مهارتهای مهم در برنامهنویسی پایتون، کار با ابزار 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 <command> به ابزار pip روی نسخه دوم پایتون اشاره دارد و دستور pip3 <command> به pip روی نسخه سوم. مگرنه اینکه خودتان برای آن aliasing انجام دهید.
نصب پکیج با pip install در پایتون
برای نصب یک پکیج از مخزن از دستور install استفاده میکنیم. برای این دستور، باید نام پکیج مورد نظر را مشخص کنیم. این نام را ممکن است از فرد دیگری گرفته باشیم، در آموزشی دیدده باشیم یا از صفحه مستندات و صفحه پکیج در PyPI برداشته باشیم.
pip install PACKAGE_NAME
برای مثال، اگر بخواهیم پکیجی به نام art را بههمراه تمام وابستگیهای لازم دانلود و نصب کنیم، یکی از دو دستور زیر را اجرا میکنیم:
pip install artpython -m pip install art
در صورتی که فرآیند دانلود و نصب پکیج موفقیتآمیز باشد، با پیامی مشابه زیر مواجه میشویم.
نمونه فرآیند نصب پکیج با 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 مواجه میشویم.
میدانید که برای مدیریت خطاهای احتمالی، میتوانیم از ساختار مدیریت خطا با try-except در پایتون استفاده کنیم.
مشاهده پکیجها در pip
برای مشاهده لیست تمام پکیجهای نصبشده روی سیستم از دستور list استفاده میشود.
pip listpython -m pip list
همچنین، برای مشاهده جزئیات و اطلاعات یک پکیج خاص، از دستور show استفاده میشود.
pip show PACKAGE_NAMEpython -m pip show PACKAGE_NAME
این دستور، اطلاعاتی نظیر نام پکیج، توضیحات مختصر، مشخصات سازنده، سایت یا گیتهاب، مسیر نصب و وابستگیهای پکیج را به ما نشان میدهد. بهعنوان مثال، در تصویر زیر نمونهای از این مشخصات را میبینید:
نمونه خروجی نمایش مخشخصات پکیج نصبشده با دستور 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
این خطوط مشخص میکنند که پروژهی ما، به پکیج requests نسخه 2.32.5 و پکیج pandas نسخههای بالاتر از 2.2.0 وابسته است.
برای نصب پکیجهای این فایل، از یکی از دستورهای pip زیر استفاده میکنیم:
در چند جلسه جلوتر از دوره جامع آموزش پایتون، کاربردها، نحوه استفاده و نکات این فایل را با هم بررسی کردهایم. میتوانید به جلسهاش مراجعه کنید:
معمولاً پیشنهاد میشود که برای جلوگیری از تداخل نسخههای مختلف پکیجها در پروژههای مختلف، از محیط مجازی (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