محیط مجازی پایتون(VirtualEnv) چیست؟ | + فیلم
ایجاد محیط مجازی پایتون
cd Desktop
یک پوشه برای پروژه در دسکتاپ با نام دلخواه ایجاد میکنیم.
حالا مطابق دستور و تصویر زیر وارد پوشهای که ساختهاید شوید.
نکته: شما میتوانید با زدن (dir /b) در پوشه مورد نظر فایل های موجود در آن پوشه را ببینید.
cd myproject1
سپس با دستور و تصویر زیر میتوانید محیط مجازی پایتون را در مسیر مورد نظر بسازید.
python -m venv .venv1
نکته: (venv1.) فقط یک اسم است و هر نامی که دوس دارید میتوانید بگذارید توجه کنید که نقطه ابتدای اسم برای مخفی کردن فایل است و زمانی که در سرور آپلود شود فایل مخفی میشود.
پس از زدن دستور فوق ما در فایل پروژه خود پایتون را به صورت جداگانه برای این پروژه نصب داریم و از پایتون اصلی که بر روی سیستم نصب کرده بودیم جدا است.
فعال سازی محیط مجازی پایتون
حالا کاری که باید انجام دهیم این است که در محیط cmd به سیستم بفهمانیم که از پایتون این پوشه ما استفاده کند و کاری با پایتون اصلی سیستم ما نداشته باشد.
در حال حاضر اگر where python در cmd بزنیم آدرس پایتون اصلی سیستم را به ما نشان میدهد.
اما به راحتی میتوانیم پایتون مورد استفاده پروژه را مشخص کنیم.
آدرس پروژه خود را که در فایل myproject1 ایجاد کردهایم کپی میکنیم.
سپس با دستور زیر وارد پوشه Scripts میشویم.
cd C:\Users\Ali-windows10\Desktop\myproject1\.venv1\Scripts
تذکر: آدرس فوق را از سیستم خودتان کپی کنید زیرا در هر سیستم با توجه به نام هایی که انتخاب میکنید متفاوت است.
وقتی در پوشه Scripts پایتون قرار میگیرید میتوانید با زدن (dir /b) همه فایل های موجود در پوشه Scripts را ببینید.
مطابق تصویر زیر در بین فایل های موجود در این پوشه فایل activate.bat را ملاحظه میکنید.
حالا با نوشتن activate.bat و زدن اینتر از این لحظه به بعد سیستم شما از محیط مجازی پایتون استفاده خواهد کرد.
مطابق تصویر بالا شما میتوانید ببینید که ابتدای آدرس پایتون شما (venv1.) نوشته شده است که نشانه این است که سیستم از محیط مجازی شما برای پروژه استفاده میکند.
حالا اگر ما هر پکیجی را نصب کنیم در محیط جدید ما نصب میشود.
مطابق تصویر زیر الان اگر در محیط cmd بزنیم where python به ما میگوید که از آدرس فایل جدید پروژه ما در دسکتاپ استفاده میکند.
نصب کتابخانه در محیط مجازی جدید
به علت کاربرد زیاد کتابخانه جنگو اینجا دستور نصب ورژن خاصی از جنگو در محیط جدید خود را وارد میکنیم.
pip install Django==2.2.13
الان اگر در محیط cmd دستور زیر را وارد کنیم پکیج جنگو نصب شده در محیط مجازی پایتون ما را نمایش میدهد.
pip list
اگر cmd جدیدی باز کنیم و دستور pip list را بزنیم میبینیم که جنگو در لیست پکیج های نصب شده سیستم نیست.
دستور pip freeze
دستوری وجود دارد که بتوانیم تمامی پکیج هایی را که در این پروژه استفاده کرده ایم را نامشان در فایلی قابل مشاهده باشد.
برنامهنویسان بعدی که این فایل ها به دستشان میرسد میتوانند پیکج های لازم را با همان ورژن خاص که در پروژه استفاده شده است نصب کنند.
در آدرس نصب محیط مجازی خود مثلا همان پوشه myproject1 دستور زیر را مینویسیم.
pip freeze > requirements.txt
نکته: requirements نام فایلی است که نام پکیج ها در آن ذخیره میشود و هر نامی میتواند استفاده شود.
حالا در پوشه پروژه فقط کافیست این فایل txt و فایل پروژه را تحویل بدهید.
شخصی که میخواهد پروژه را آپلود کند با دستوری که معرفی میکنیم میتواند تمامی پیج های مورد نیاز این پروژه را به صورت خودکار نصب کند.
کسی که پروژه را از شما تحویل گرفته باید یک محیط مجازی ایجاد کند و در فایل پروژه خود دستور زیر را بزند تا همه پیج های مورد نیاز پروژه نصب شود.
pip install -r requirements
حالا شما همه پکیج های مورد نیاز پروژه را در محیط جدید دارید.
سخن پایانی
در این مقاله سعی کردیم به صورت کامل محیط مجازی پایتون را به شما معرفی و نحوه استفاده از آن را به شما آموزش دهیم.
ما در دسته بندی های نکات ضروری پایتون مهارت های مورد نیاز هر برنامه نویس پایتون را به شما آموزش میدهیم.
همچنین برای یادگیری صفر تا صد پایتون میتوانید دوره جامع پایتون مهارت محور را تهیه و استفاده کنید.
این پست مفید بود ؟
به این پست امتیاز بدین !
امتیاز تا کنون: / 5. تعداد امتیاز ها:
هنوز کسی امتیاز نداده! شما اولین نفر باشین!
از این که نتونستیم نظرتون رو جلب کنیم متاسفیم.
بهمون کمک کنین !
چه طوری کیفیت کارمون رو بهتر کنیم ؟
6 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
ممنون
خیلی کامل بود
سلام خیلی خوش حالم که براتون مفید بوده.
سلام علی آقا
من چندین ماه پیش، وقتی با ابهام محیط مجازی مواجه شدم، این آموزش شما رو دیدم و همه چیز برام فهم شد.
توی این چند ماه هم، بارها شده که دوباره آموزش تون رو دیدم به خاطر اینکه به یه نکته اش نیاز داشتم.
خیلی کامل و ساده گفتی. دمت گرم.
خدا خیرت بده
خوش حالم که مفید بوده.
سلام ممنون بابت اطلاعات مفیدتون یه سوال داشتم برای نصب جنگو و startappباید بریم داخل پوشه جنگو یا venvفعال باشه لزومی نداره داخل پوشه بریم برای ساخت پروژه؟
سلام بیتا جان، ببین اگه جنگو رو روی ویرچوال انو نصب میکنی باید فعال باشه در غیر این صورت لازم نیست. که من پیشنهاد میکنم توی ویرچوال انو نصب کنی.