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

امیرحسین بیگدلو 5 ماه قبل

در دنیای پایتون برای مدیریت پکیج ها از ابزارهایی استفاده میشود که به آنها مدیر پکیج یا package manager گفته میشود. در پایتون به طور پیشفرض از pip به عنوان مدیر پکیج استفاده میشود. با pip میتوانید پکیج هایی که جزوی از کتابخانه استاندارد پایتون نیستند را نصب و مدیریت کنید. مدیریت پکیج ها آنقدر مهم بود که از پایتون 3.4 به بعد، pip در داخل پایتون جا گرفت.

 

دوره پیشنهادی: دوره آموزش رایگان الگوریتم‌نویسی در پایتون

 

 #  شروع کار با pip پایتون

 

اگر با زبان برنامه نویسی دیگری کار کرده باشید، ممکن است مفهوم مدیر پکیج برای شما آشنا باشد. جاوا اسکریپت از npm برای مدیریت بسته، روبی از gem و پلتفرم دات نت از NuGet استفاده می کند. در پایتون، pip به مدیر بسته استاندارد تبدیل شده است.

 

 

 +  پیدا کردن pip روی سیستمتان

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

# Windows
where pip3

# Linux, MacOs
which pip3

 

دستور Where در ویندوز به شما نشان می دهد که کجا می توانید فایل اجرایی pip3 را پیدا کنید. اگر ویندوز نمی تواند یک فایل اجرایی به نام pip3 پیدا کند، می توانید pip را بدون سه (3) نیز جستجو کنید.

 

در سیستم های ویندوز و یونیکس، pip3 ممکن است در بیش از یک مکان یافت شود. این ممکن است زمانی اتفاق بیفتد که چندین نسخه پایتون را نصب کرده باشید.

 

 

 +  استفاده از pip در یک محیط مجازی

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

 

می توانید مراحل زیر را انجام دهید تا یک محیط مجازی جدید ایجاد کرده و داخل آن از pip استفاده کنید:

$ python3 -m venv venv

$ source venv/bin/activate

(venv) $ pip3 --version
pip 21.2.3 from .../python3.10/site-packages/pip (python 3.10)

(venv) $ pip --version
pip 21.2.3 from .../python3.10/site-packages/pip (python 3.10)

 

در اینجا با استفاده از ماژول venv داخلی پایتون یک محیط مجازی به نام venv ایجاد می کنید. سپس با دستور source آن را فعال می کنید. پرانتز () اطراف نام venv شما نشان می دهد که شما با موفقیت محیط مجازی را فعال کرده اید.

 

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

 

مقاله پیشنهادی: درک کامل تورفتگی(indentation) در پایتون

 

 #  آشنایی با مهم ترین دستورات pip پایتون

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

 

پایتون به عنوان یک زبان کامل(batteries included) در نظر گرفته می شود. این بدان معناست که کتابخانه استاندارد پایتون شامل مجموعه گسترده ای از پکیج ها و ماژول ها است که به توسعه دهندگان در پروژه های کدنویسی کمک می کند.

 

در عین حال، پایتون یک جامعه فعال دارد که مجموعه گسترده‌تری از پکیج‌ ها را ارائه می‌کند که می‌تواند به شما در رفع نیازهای توسعه کمک کند. این بسته‌ها در فهرست بسته Python منتشر می‌شوند که با نام PyPI (تلفظ Pie Pea Eye) نیز شناخته می‌شود. زمانی که از pip استفاده میکنید پایتون از PyPI برای جستجو و نصب پکیج ها استفاده میکند.

 

 

 1  نصب پکیج

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

pip install django

 

 

 2  حذف پکیج

اگر به هر دلیلی میخواهید پکیجی را حذف کنید میتوانید از pip uninstall مانند مثال زیر استفاده کنید:

pip uninstall django

 

دقت کنید که این دستور وابستگی های پکیج را حذف نمیکند. اگر بخواهید همراه با پیکج اصلی، تمام وابستگی های آن را نیز حذف کنید باید از pip-autoremove استفاده کنید.

 

ویدیو پیشنهادی: ویدیو آموزش فایل های stub در پایتون

 

 3  لیست کردن پکیج ها

اگر می خواهید تمام بسته های پایتون نصب شده در یک محیط را لیست کنید، دستور pip list همان چیزی است که به دنبال آن هستید:

pip list

 

این دستور تمام بسته های نصب شده را به همراه نسخه و مکان خاص آنها برمی گرداند:

Package       Version
------------- -------
asgiref       3.4.1
Django        4.0.1
pip           20.3.4
pkg-resources 0.0.0
setuptools    44.1.1
sqlparse      0.4.2

 

 

 4  آپدیت کردن پکیج

اگر یکی از بسته‌های نصب‌شده شما قدیمی است و می‌خواهید آن را ارتقا دهید، می‌توانید این کار را با آپشن upgrade-- یا U- انجام دهید:

pip install django --upgrade
# OR
pip install -U django

 

 

 5  بررسی سازگاری پکیج های نصب شده

برای اینکه بررسی کنید که آیا پکیج های نصب شده با pip با یکدیگر ناسازگار نباشند میتوانید از دستور check استفاده کنید:

$ pip check
No broken requirements found.

 

 

 6  نمایش اطلاعات یک پکیج خاص

اگر می خواهید اطلاعات مربوط به یک پکیج خاص را بازیابی کنید، pip show جزئیاتی مانند نام، نسخه، خلاصه، مجوز، وابستگی ها و موارد دیگر را برمی گرداند:

$ pip show pandas

Name: pandas
Version: 1.2.3
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: https://pandas.pydata.org
Author: None
Author-email: None
License: BSD
Location: /path/to/lib/python3.6/site-packages
Requires: pytz, python-dateutil, numpy
Required-by: shap, seaborn

 

ویدیو پیشنهادی: ‌ویدیو آموزش ارثبری از آبجکت های داخلی(built-in) پایتون

 

 #  کار با فایل requirements.txt پایتون

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

 

به این وابستگی های خارجی نیازمندی(requirements) گفته می شود. اغلب پروژه‌های پایتون را می‌بینید که نیازمندی‌های خود را در فایلی به نام requirements.txt یا موارد مشابه پین می‌کنند. فرمت فایل مورد نیاز به شما امکان می دهد دقیقاً مشخص کنید که کدام پکیج ها و نسخه ها باید نصب شوند.

 

برای ساخت یک فایل requirements.txt باید از دستور freeze استفاده کنید:

pip freeze > requirements.txt

 

این دستور یک فایل requirements.txt با محتوایی مشابه زیر ایجاد می کند:

certifi==x.y.z
charset-normalizer==x.y.z
idna==x.y.z
requests==x.y.z
urllib3==x.y.z

 

 

دستور freeze نام و نسخه پکیج های نصب‌شده فعلی را به خروجی استاندارد منتقل می‌کند. سپس با علامت < خروجی این دستور را در فایل جدیدی هدایت میکنیم.

 

حالا میتوانید با این فایل مشخص کنید که چه پکیج هایی باید در محیط جدید نصب شوند. برای نصب پکیج ها از فایل requirements باید از دستور install به همراه آپشن r- استفاده کنید:

pip install -r requirements.txt

 

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

(venv) $ python3 -m pip list

Package            Version
------------------ ---------
certifi            x.y.z
charset-normalizer x.y.z
idna               x.y.z
pip                x.y.z
requests           x.y.z
setuptools         x.y.z
urllib3            x.y.z

 

اکنون شما آماده به اشتراک گذاری پروژه خود هستید! شما می توانید requirements را در یک سیستم کنترل نسخه مانند Git ارسال کنید و از آن برای تکرار همان محیط در ماشین های دیگر استفاده کنید.

 

 

 #  نتیجه گیری

بسیاری از پروژه های پایتون از مدیر بسته pip برای مدیریت وابستگی های خود استفاده می کنند. همراه با نصب کننده پایتون است و یک ابزار ضروری برای مدیریت وابستگی در پایتون است.

مطالب مشابه



مونگارد