نصب و استفاده از virtualenv

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/04
  • تعداد بازدید: 459

برای استفاده از ماژول virtualenv کافیست که مراحل زیر طی شوند:

  • نصب virtualenv
  • قرار گیری در پوشه پروژه
  • باز کردن ترمینال / BASH
  • ایجاد محیط مجازی
  • فعالسازی محیط مجازی
  • نصب ماژول های مد نظر
  • غیرفعالسازی محیط مجازی

نصب virtualenv

virtualenv ابزاری برای ایجاد محیط های منزوی پایتون است. virtualenv پوشه ای را ایجاد می کند که شامل تمام موارد اجرایی لازم برای استفاده از بسته های مورد نیاز یک پروژه پایتون است.

نصب virtualenv از طریق pip:

# windows (python3)
pip install virtualenv

# linux/mac (python3)
pip3 install vritualenv

برای بررسی و تست نصب این ماژول می توانید در ترمینال دستور زیر را وارد کنید، که به شما اطلاعات ماژول virtualenv را در صورت نصب می دهد.

virtualenv --version

قرار گیری در پوشه پروژه

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

نکته مهم:اما این نکته را در نظر داشته باشید که در ویندوز نمی توانید با استفاده از Powershell عملیات هایی که در اینجا بررسی می شوند را انجام دهید و آن هم به دلیل تفاوت آدرس دهی در powershell است. پس بهتر است که با استفاده از cmd عملیات ها را انجام دهید.

باز کردن ترمینال /bash 

برای اینکه در پوشه مورد نظر بتوانید خط فرمان را باز کنید بستگی به سیستم عامل خواهد داشت که چگونه انجام شود. به عنوان مثال در سیستم عامل لینوکس کافیست که در فضای پوشه کلیک راست کرده  و open terminal نمایید. همچنین می توانید در محیط ویندوز با استفاده cmd از آدرس دهی به پوشه مد نظر استفاده کنید. توجه داشته باشید که استفاده از یک ویرایشگر متن پیشرفته مثل vscode می تواند این روند را راحت تر نماید.

ایجاد محیط مجازی

برای ساخت یک محیط مجازی در پوشه مد نظر کافیست که در ترمینالی که در آدرس پوشه باز شده باشد دستور زیر را وارد نمایید.

# python -m venv <name of folder>

# windows
python -m venv venv

#linux / mac
python3 -m venv venv

پس از گذشت چند ثانیه پوشه ای با محتویات زیر ساخته خواهد شد که یک نسخه کوچک را از پایتون با قابلیت مجزا بودن نسبت به پکیج های نصب شده در سیستم را در اختیار شما قرار می دهد.

Windows directories

venv
├───Include
├───Lib
│   └───site-packages
├───Scripts
│   ├── activate
│   ├── deactivate
│   ├── pip
│   ├── python
│
└── pyvenv.cfg


linux/mac directories

venv
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── easy_install
│   ├── easy_install-3.5
│   ├── pip
│   ├── pip3
│   ├── pip3.5
│   ├── python -> python3.5
│   ├── python3 -> python3.5
│   └── python3.5 -> /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
├── include
├── lib
│   └── python3.5
│       └── site-packages
└── pyvenv.cfg

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

توجه داشته باشید که پکیج هایی که در این محیط نصب می کنید همگی در پوشه site-packages ذخیره می شوند و در صورتی که نیاز به ایجاد تغییر در پکیج ها داشتید می توانید به این پوشه مراجعه نمایید.

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

فعالسازی محیط مجازی

برای فعال سازی محیط مجازی ساخته شده و استفاده از آن کافیست که بسته به سیستم عامل مربوطه از دستورات زیر استفاده نمایید.

# windows
venv\Scripts\activate

# linux/mac
source venv/bin/activate

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

# windows 
(venv) c:\>Documents>icc_aria>

# linux/mac
(venv) $/home/Documents/icc_aria>

نصب ماژول های مد نظر

شما می توانید ماژول های مد نظر خود را با نسخه های مشخص که می خواهید برای هر پروژه در این محیط نصب نمایید بدون اینکه در ماژول های نصب شده در کل سیستم عامل و به اصطلاح global اتفاقی بیافتد و تداخلی پیش بیاید.به فرض مثال نصب ماژول numpy را با نسخه 2.2 در نظر بگیرید.

pip install numpy==2.2

و به همین ترتیب می توانید از تمام دستورات pip در این محیط نیز استفاده نمایید مثل pip freeze که به شما تمام ماژول هایی که در این محیط مجازی نصب شده اند را نمایش خواهد داد.

غیرفعالسازی محیط مجازی

برای خروج از محیط مجازی ایجاد شده بدون اینکه بخواهید پنجره را ببندید می توانید از دستور زیر استفاده نمایید تا از محیط مجازی ایجاد شده خارج و به بخش global منتقل شوید.

# windows / linux / mac
deactivate

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