آموزش نصب و استفاده از 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 را به‌تازگی شروع کرده باشید توصیه می‌شود حتما قبل از شروع هر پروژه یک محیط مجازی ایجاد کنید و برنامه‌ی خود را در آن محیط ایزوله شده توسعه دهید. به این صورت از بسیاری مشکل‌های عمده در مدیریت وابستگی‌های پروژه در امان خواهید ماند و با تسلط بیشتری بر هر پروژه می‌توانید به توسعه‌ی برنامه‌های خود ادامه دهید.

برچسب‌ها:

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید و فقط برای بیش از آن هزینه پرداخت کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

توسعه‌دهندگان درباره‌ی ما چه می‌گویند

تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...

MohammadReza
liara testimonial
keikaavousi

بعد از بسته شدن @fandoghpaas و ناراحتی همه‌مون از اینکه یه سرویس خوب و صادق نمی‌تونه از پس هزینه‌ها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوت‌هایی داشت که کمی کار می‌خواست ولی تا الان کاملا راضی.

jadi
liara testimonial
jadi

یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.

Arch
liara testimonial
EbadiDev

واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیت‌های سرویس دیتابیس‌شون اینه که خودشون به صورت دوره‌ای بکآپ میگیرن.
...

Ali Najafi
liara testimonial
me_ali_najafi

یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@

Navid
liara testimonial
1navid

عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم

Amir H Shekari
liara testimonial
vanenshi