برنامه‌نویسی

آموزش نصب و استفاده از Virtual environment در Python

آموزش نصب و استفاده از virtual environment در python

Virtual environment چیست؟

هدف اصلی محیط مجازی (Virtual environment) ایجاد یک محیط ایزوله شده و مجزا برای پروژه‌های Python است. این بدان معناست که هر پروژه‌ای می‌تواند صرف نظر از اینکه پروژه‌های دیگر به چه وابستگی‌هایی نیاز دارند، وابستگی‌های خاص خود را داشته باشد.

برای درک کاربرد محیط مجازی می‌توانید دو پروژه مختلف به نام‌های ProjectA و ProjectB را در نظر بگیرید که هر کدام از آن‌ها به نسخه‌ی مختلفی از Python نیاز دارند و اگر شما بخواهید تمام وابستگی‌ها را بر روی سیستم اصلی خود نصب کنید، پیچیدگی بسیار زیادی را ایجاد خواهید کرد که در نهایت در زمان تحویل پروژه‌ها نمی‌توانید دقیقا مشخص کنید که کدام وابستگی‌ها به کدام پروژه مربوط می‌شوند.

همچنین محدودیتی در تعداد برای ایجاد محیط‌ مجازی نخواهید داشت و می‌توانید به‌راحتی با استفاده از virtualenv یا venv محیط‌های مجازی خود را ایجاد کنید.

نصب و استفاده از محیط مجازی (Virtual environment)

اگر از Python3 استفاده می‌کنید این قابلیت با استفاده از ماژول venv که در کتابخانه‌های استاندارد Python وجود دارد امکان‌پذیر است. در غیر این‌صورت اگر می‌خواهید در Python2 از قابلیت‌های محیط مجازی بهره‌مند شوید بایستی virtualenv را با دستور زیر نصب کنید:

pip install virtualenv

استفاده از محیط مجازی را با ایجاد یک پوشه‌ی جدید شروع می‌کنیم:

mkdir first-python-virtual-environment && cd first-python-virtual-environment

سپس در قدم بعد می‌توانیم محیط مجازی خود را ایجاد کنیم اما تفاوت‌ در دستورها از این مرحله نمایان می‌شوند زیرا برای ایجاد محیط مجازی در Python2 و Python3 دستورهای متفاوتی وجود دارد:

# Python 2:
virtualenv first-env

# Python 3
python3 -m venv first-env

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

source first-env/bin/activate

اما فعال‌سازی و استفاده از محیط مجازی در سیستم‌عامل Windows متفاوت است و می‌بایستی فایل activate.bat را در cmd اجرا کنید تا محیط مجازی شما فعال شود:

first-env/Scripts/activate.bat

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

pip freeze > requirements.txt

وابستگی‌های پروژه خود را در یک فایل ذخیره کنید و آن را در کنار پروژه‌تان قرار دهید. این‌ کار باعث می‌شود تا افراد دیگری که می‌خواهند بر روی پروژه‌ی شما کار کنند فقط با اجرای دستور:

pip install -r requirements.txt

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

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

deactivate

و برای پاک کردن محیط مجازی کافی است تا پوشه‌ی first-python-virtual-environment را که قبل‌تر با دستور mkdir ایجاد کرده بودیم، حذف کنید.

جمع‌بندی

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