ممکن است که در یک سورسکد پایتون، با دستور ذیل مواجه شویم:
import X
ممکن است که برای راهاندازی دستور فوق، یکی از دستورات ذیل مورد استفاده قرار گیرد:
$ pip install X [OR] $ pip install Y
پس نباید ذهنمان شرطی شود!
import pygame $ pip install pygame import cv2 $ pip install opencv.python
به طور کلی،
با استفاده از دستور ذیل، در صورتی که Package مورد نظر، وجود نداشته باشد، Package نصب میشود، و در صورتی که قبلا نسخهای از آن نصب شده باشد، به روز رسانی میشود:
$ pip install X --> 1.2 --> 1.8 $ pip install -U X --> 1.2 --> 2.3 (-U: Upgrade)
هر وقت بخواهیم از دستور pip استفاده کرده، و این دستور به خطا برخورد کند، میتوانیم یکی از دستورات ذیل را استفاده نماییم:
$ pip3 install X [OR] $ python -m pip install X [OR] $ python3 -m pip install X [OR] $ python3 -m pip3 install X
با استفاده از دستور ذیل، در صورتی که Package مورد نظر، وجود نداشته باشد، Package نصب میشود، و در صورتی که قبلا نسخهای از آن نصب شده باشد، Upgrade میشود:
$ pip install --upgrade X [OR] $ pip install -U X
برای اینکه ببینیم که چه Package هایی نصب شدهاند، از دستور ذیل استفاده میکنیم:
$ pip list
زمانی که بخواهیم، اطلاعات کاملی از Package نصب شده مشاهده نماییم، از دستور ذیل استفاده میکنیم:
$ pip show X
و اما، مشکل اصلی:
فرض کنید که برای اجرای برنامه app1.py، به Packageای به نام X و نسخه ۱.۱ نیاز داریم.
بعد از مدتی،
فرض کنید که برای اجرای برنامه دیگری app2.py، به همان Package، به نام X، ولی به نسخه ۲ آن نیاز داریم.
در این حالت، اگر Package را به نسخه ۲، اصطلاحا Upgrade نماییم، هر چند که برنامه app2.py، به درستی کار میکند، ولی به احتمال خیلی زیاد، برنامه app1.py دیگر کار نخواهد کرد! پس به همین دلیل (همانطور که در ادامه به آن اشاره خواهیم کرد) به جای اینکه Package ها را در سطح سیستم خود نصب نماییم، در همانجایی که پروژه (فایل) ما قرار دارد، اقدام به ایجاد یک Virtual Environment کرده، و Package های مورد نیاز خود را در همانجا و در همان Virtual Environment نصب میکنیم.
برای نصب یک Package، با یک Version قدیمی و دلخواه، از دستور ذیل استفاده میکنیم:
$ pip install numpy==1.26.4
با استفاده از دستور ذیل، میتوانیم یک Package نصب شده (مثلا به نام X) را Uninstall نماییم:
$ pip uninstall X
با استفاده از دستور ذیل، میتوانیم یک Package نصب شده (مثلا به نام X) را Uninstall نماییم، به گونهای که در زمان Uninstall شدن، از ما سوالی پرسیده نشود:
$ pip uninstall -y X [OR] $ pip uninstall X -y
به دلیل وجود همین مشکلات، مفهومی در پایتون اضافه شده است، به نام Virtual Environment، که به طور خلاصه آن را venv مینامند.
$ python -m venv [Some_Name] --> In Windows $ python3 -m venv [Some_Name] --> In Linux $ python -m venv .venv How to activate virtual environment: $ .\.venv\Scripts\activate --> In Windows $ source ./.venv/bin/activate --> In Linux (.venv) $ pip list
کارمان را انجام میدهیم! سورسکد(هایمان) مینویسیم / ویرایش میکنیم / اجرا میکنیم / ...
کارمان که تمام شد!
(.venv) $ deactivate
یک سناریوی دیگر:
$ python -m venv .venv $ .\.venv\Scripts\activate (.venv) $ pip list (.venv) $ pip install -U pip [OR] (.venv) $ python -m pip install -U pip (.venv) $ pip list (.venv) $ pip install -U numpy (.venv) $ pip install -U pypdf (.venv) $ pip install -U requests Related to below Packages: · certifi · charset-normalizer · idna · urllib3
نکته: ممکن است که با نصب یک Package، چندین Package دیگر نیز نصب گردد!
برنامه را چک میکنیم! اگر برنامه به درستی کار کرد و هیچ مشکلی نداشت!
(.venv) $ pip freeze (.venv) $ pip freeze > [Some_Text_File] (.venv) $ pip freeze > requirements.txt (.venv) $ deactivate
با استفاده از دستور ذیل، تمام Package هایی که در فایل Requirements.txt وجود دارند را به ترتیب (و با توجه به نسخه آنها) نصب میکند:
(.venv) $ pip install -r .\requirements.txt
برای Uninstall کردن کلیه Package هایی که در داخل Virtual Environment جاری قرار دارند، از دستورات ذیل استفاده میکنیم:
(.venv) $ pip freeze > requirements.txt (.venv) $ pip uninstall -r requirements.txt -y
برای Uninstall کردن کلیه Package هایی که بر روی سیستم ما نصب شده است، از دستورات ذیل استفاده میکنیم:
$ pip freeze > requirements.txt $ pip uninstall -r requirements.txt -y