PIP ، مدیر بسته پایتون، برای نصب، ارتقا، حذف بسته های نوشته شده به زبان برنامه نویسی پایتون استفاده می شود. در این راهنما، نحوه نصب پیپ و مدیریت بسته های پایتون مانند نصب، به روز رسانی و حذف بسته ها با استفاده از pip را مورد بحث قرار خواهیم داد. علاوه بر این، خواهیم دید که محیط مجازی چیست، چگونه آن را ایجاد کنیم و چگونه بسته ها را در محیط مجازی با استفاده از ابزارهای venv و/یا virtualenv جدا کنیم.
با استفاده از پکیج منیجر پیپ را نصب کنید
در Arch Linux و انواع آن مانند Antergos ، Manjaro Linux ، می توانید pip را با استفاده از دستور نصب کنید:
پایتون ۲:
$ sudo pacman -S python2-pip python2-wheel python2-setuptools
پایتون ۳:
$ sudo pacman -S python-pip python-wheel python-setuptools
در فدورا ۲۱:
پایتون ۲:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
پایتون ۳:
$ sudo dnf install python3 python3-wheel
فدورا ۲۲:
پایتون ۲:
$ sudo dnf install python3 python3-wheel
$ sudo dnf install python-pip python-wheel
پایتون ۳:
$ sudo dnf install python3 python3-wheel
برای دریافت نسخه های جدیدتر pip، setuptools و wheel برای Python 2 ،PyPA Copr Repo را با استفاده از دستور فعال کنید:
$ dnf copr enable pypa/pypa
و سپس اجرا کنید:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
در CentOS/RHEL:
Pip and wheel در مخازن پیش فرض CentOS و RHEL موجود نیست. برای نصب پیپ در CentOS، RHEL، Scientific Linux و سایر سیستمهای مبتنی بر RPM، مخزن EPEL را با استفاده از دستور فعال کنید:
$ sudo yum install epel-release
و سپس دستور زیر را برای نصب pip اجرا کنید:
$ sudo yum install python-pip
$ sudo yum install python-wheel
از آنجایی که بسته setup-tools در مخازن پیش فرض موجود است، می توانید آن را با استفاده از دستور نصب کنید:
$ sudo yum upgrade python-setuptools
پایتون ۳:
$ sudo yum install python3-pip
openSUSE:
پایتون ۲:
$ sudo zypper install python-pip python-setuptools python-wheel
پایتون ۳:
$ sudo zypper install python3-pip python3-setuptools python3-wheel
دبیان/اوبونتو:
برای پایتون ۲x :
$ sudo apt-get install python-pip
برای پایتون ۳x:
برای نصب نسخه Python 3x را با Python3 جایگزین کنید.
$ sudo apt-get install python3-pip
اگر از اوبونتو 12.04 استفاده می کنید، می توانید pip3 را با استفاده از دستورات زیر نصب کنید:
$ sudo apt-get install python3-setuptools
$ sudo easy_install3 pip
نصب پیپ از باینری ها
اگر می خواهید پیپ را از باینری ها نصب کنید، کافی است:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
لطفاً توجه داشته باشید که get-pip.py ابزارهای setup-tools و wheel را نیز نصب خواهد کرد. همانطور که قبلاً اشاره کردم، برخی از توزیعهای لینوکس wheel را در مخازن اصلی ندارند. در چنین مواردی، ممکن است لازم باشد برخی از مخازن شخص ثالث، به عنوان مثال EPEL را اضافه کنید.
اگر از Python 2 >=2.7.9 یا Python 3 >=3.4 باینری دانلود شده از python.org استفاده می کنید، pip قبلاً نصب شده است. با این حال، شما باید پیپ را با استفاده از دستور ارتقا دهید:
$ sudo pip install -U pip
و یا
$ sudo pip install --upgrade pip
برای بهروزرسانی همه (pip، setuptools، whell)، اجرا کنید:
$ sudo pip install --upgrade pip setuptools wheel
برای پیدا کردن نسخه نصب شده pip/pip3، اجرا کنید:
$ pip --version
و یا
$ pip -V
خروجی نمونه خواهد بود:
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
ایجاد محیط های مجازی
قبل از نصب هر بسته پایتون، توصیه می شود یک محیط مجازی ایجاد کنید. ممکن است بپرسید چرا باید محیط مجازی ایجاد کنیم؟ “محیط های مجازی” پایتون به ما این امکان را می دهد که یک بسته پایتون را به جای نصب عمومی، در یک مکان مجزا نصب کنیم.
فرض کنید می خواهید یک بسته پایتون نصب کنید، به عنوان مثال youtube-dl، که به نسخه 1 LibFoo نیاز دارد، اما برنامه دیگری به نسخه 2 نیاز دارد. چگونه می توانید از هر دو این برنامه ها استفاده کنید؟ اگر همه چیز را در /usr/lib/python2.7/site-packages یا /usr/lib/python3.6/site-packages (یا هر مکان استاندارد پلتفرم شما که باشد) نصب کنید، به راحتی در موقعیتی قرار می گیرید که شما به طور ناخواسته برنامه ای را ارتقا دهید که نباید ارتقا داده شود . برای جلوگیری از این امر، بسته ها را در محیط مجازی ایزوله می کنیم. همه محیط های مجازی دایرکتوری های نصب مخصوص به خود را دارند و با یکدیگر تعامل یا تضاد ندارند.
ما می توانیم محیط های پایتون ایزوله را با استفاده از دو ماژول ایجاد کنیم:
۱- venv
۲- virtualenv
برای Python 2.x باید virtualenv را نصب کنید. برای انجام این کار، اجرا کنید:
$ sudo pip install virtualenv
بیایید اکنون یک محیط مجازی ایجاد کنیم.
با استفاده از virtualenv:
$ virtualenv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
برای پایتون 3.x باید venv را نصب کنید. در سیستم های مبتنی بر اوبونتو، می توانید آن را با استفاده از دستور نصب کنید:
$ sudo apt-get install python3-venv
حال با استفاده از venv یک محیط مجازی ایجاد کنید:
$ python3 -m venv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
با اجرای دستور بالا بلافاصله در محیط مجازی خود قرار می گیرید.
برای غیرفعال کردن محیط مجازی و بازگشت به پوسته معمولی خود، اجرا کنید:
$ deactivate
مدیریت بسته های پایتون با استفاده از Pip
اکنون رایج ترین استفاده از پیپ های پایه را با مثال هایی خواهیم دید.
برای مشاهده لیست تمام دستورات پیپ و گزینه های عمومی، اجرا کنید:
$ pip
شما باید خروجی چیزی مانند زیر را ببینید.
برای اینکه بدانید دستور install چه کاری انجام می دهد، اجرا کنید:
$ pip install --help
رایج ترین استفاده از پیپ نصب از PyPi (شاخص بسته Python) است . PyPi یک مخزن است که شامل تمام بسته های ایجاد شده توسط جامعه توسعه دهندگان در پایتون است.
بسته ها را نصب کنید
ابتدا محیط مجازی را مطابق شکل زیر ایجاد کنید:
با استفاده از virtualenv:
$ virtualenv MYENV
MYENV را با نام خود جایگزین کنید.
با استفاده از venv:
$ python3 -m venv MYENV
در نهایت با استفاده از دستور آن را فعال کنید:
$ source MYENV/bin/activate
پس از اجرای دستور بالا، در محیط مجازی خود قرار می گیرید:
اکنون زمان نصب چند پکیج فرا رسیده است. برای نصب یک بسته، به عنوان مثال youtube-dl، اجرا کنید:
$ pip install youtube-dl
این دستور youtube-dl را با تمام وابستگی هایش نصب می کند.
برای نصب یک نسخه خاص، اجرا کنید:
$ pip install youtube_dl=2017.12.14
برای نصب نسخه ای غیر از نسخه مشخص، اجرا کنید:
$ pip install youtube_dl!=2017.12.14
به علامت “!” جلوی نماد مساوی توجه کنید.
برای نصب نسخه ای مساوی یا بزرگتر از نسخه مشخص، اجرا کنید:
$ pip install youtube_dl>=2017.12.14
برای نصب یک نسخه در محدوده خاص، به عنوان مثال بزرگتر یا مساوی یک نسخه و کمتر از نسخه دیگر، اجرا کنید:
$ pip install youtube_dl>=2017.12.14, <2017.12.20
برای نصب نسخه ای که هست”سازگار” با یک نسخه خاص:
$ pip install youtube_dl~=2017.12.14
دانلود بسته ها
برای دانلود یک بسته با تمام وابستگی ها (بدون نصب آن)، اجرا کنید:
$ pip download youtube-dl
لیست تمام بسته های نصب شده
برای پیدا کردن بسته هایی که توسط پیپ نصب شده اند، اجرا کنید:
$ pip freeze
یا
$ pip list
این دستورات تمام بسته های نصب شده را با استفاده از pip در سیستم شما نمایش می دهد.
جستجوی بسته ها
برای جستجوی یک بسته خاص، به عنوان مثال youtube-dl، اجرا کنید:
$ pip search youtube-dl
این دستور نتیجه مطابق با رشته “youtube-dl” را جستجو و نمایش می دهد.
بسته ها را به روز کنید
برای فهرست کردن همه بستههای قدیمی در قالب ستون جدولی ساده، اجرا کنید:
$ pip list --outdated --format=columns
برای به روز رسانی یک بسته قدیمی، اجرا کنید:
$ pip install --upgrade youtube-dl
همچنین میتوانیم همه نام بستهها را در یک فایل ذخیره کنیم و همه آنها را یکجا بهروزرسانی کنیم. ابتدا همه نام فایل ها را به یک فایل خروجی ذخیره می کنیم:
$ pip freeze > mypackages.txt
اکنون با استفاده از دستور همه بسته ها را به یکباره به روز کنید:
$ pip install -r mypackages.txt --upgrade
یا،
$ pip install -r mypackages.txt -U
اگر دستور بالا به هر دلیلی کار نکرد، از دستور زیر برای به روز رسانی یکباره همه بسته ها استفاده کنید:
$ pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
همه بسته های نصب شده را در یک فایل export کنید
گاهی اوقات، ممکن است بخواهید تمام بسته های نصب شده را در یک فایل صادر کنید تا آنها را در محیط دیگری آزمایش کنید. برای انجام این کار، اجرا کنید:
$ pip freeze > MYENV_packages.txt
حال محیط مجازی فعلی را غیرفعال کنید:
$ deactivate
و یک محیط مجازی جدید ایجاد کنید:
$ virtualenv MYENV1
MYENV1 را با نام خود جایگزین کنید.
با استفاده از venv:
$ python3 -m venv MYENV1
محیط جدید ایجاد شده را فعال کنید:
$ source MYENV1/bin/activate
اکنون، تمام بستههایی را که قبلاً export کردهایم نصب کنید.
$ pip install -r MYENV_packages.txt
برای نصب همه به یکباره بدون پرسیدن سوال، اجرا کنید:
$ pip install -r MYENV_packages.txt -y
به طور مشابه، می توانید با استفاده از دستور، تمام بسته ها را از لیست حذف کنید:
$ pip uninstall -r MYENV_packages.txt -y
مشاهده اطلاعات بسته
برای مشاهده جزئیات یک بسته، اجرا کنید:
$ pip show youtube-dl
Name: youtube-dl
Version: 2017.12.14
Summary: YouTube video downloader
Home-page: https://github.com/rg3/youtube-dl
Author: Sergey M.
Author-email: dstftw@gmail.com
License: UNKNOWN
Location: /home/sk/MYENV/lib/python3.6/site-packages
Requires:
مشاهده وابستگی های بسته
ما می توانیم وابستگی های تمام بسته های نصب شده را با استفاده از ابزار “pipdeptree” مشاهده کنیم.
این ابزار را با استفاده از دستور نصب کنید:
$ pip install pipdeptree
پس از نصب، می توانید درخت وابستگی را با استفاده از دستور مشاهده کنید:
$ pipdeptree
پاک کردن بسته ها
برای حذف/حذف بسته نصب شده، اجرا کنید:
$ pip uninstall youtube-dl
برای حذف چند بسته، آنها را با کاما از هم جدا کنید مانند زیر:
$ pip uninstall package1, package2
برای حذف تمام بسته های پایتون نصب شده با استفاده از pip، اجرا کنید:
$ pip freeze | xargs pip uninstall -y
گاهی اوقات pip به شما اجازه نمی دهد بسته های متعلق به سیستم عامل را حذف کنید. در چنین مواردی، میتوانید تمام بستههایی را که متعلق به سیستمعامل نیستند با استفاده از دستور زیر حذف کنید:
$ pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
همانطور که در قسمت قبل اشاره کردیم، میتوانیم تمام بستههای نصب شده را در یک فایل ریخته و با استفاده از دستور آنها را از لیست حذف کنیم:
$ pip uninstall -r MYENV_packages.txt -y
برای جزئیات بیشتر، با اجرای دستور زیر به مستندات رسمی و بخش راهنمای pip مراجعه کنید:
$ pip -- help
یا فقط،
$ pip
امیدوارم این آموزش مفید بوده باشد
منبع:
افزودن نظر