معرفی:
در بسیاری اوقات مشاهده میشود که یکی از قدم های شروع برنامه نویسی، ایجاد یک محیط virtual است.در این نوشته گزیده هایی از این مطلب در مورد Venv آورده شده است:
1- سناریویی را تصور کنید که در آن روی دو پروژه پایتون مبتنی بر وب کار میکنید و یکی از آنها از جنگو 2 و دیگری از جنگو 3 استفاده میکند. در چنین شرایطی محیط مجازی می تواند برای حفظ وابستگی هر دو پروژه واقعا مفید باشد.
2- تعریف کرنل:
kernel is a runtime environment that provides programming language support for the Jupyter Notebook application
ایجاد محیط مجازی
با دستور زیر انجام میشود:
در لینوکس:
python3 -m venv /path/to/new/virtual/environment
در ویندوز (command prompt):
py -m venv F:\shahram\ML\my_env
تصویر:

نتیجه کد بالا باعث ایجاد فولدر زیر میشود:

اجرای این دستور ، فولدرهایی(پدری) را به وجود میآورد که قبلا نبوده اند.( آموزش ) در دستور بالا داریم ابتدا py3 (در لینوکس) یا Py (در ویندوز) را صدا میزنیم و سپس ماژول venv را کال میکنیم و سپس نام فولدر مورد نظر برای ایجاد شدن را تعیین میکنیم.
نکته: pip پکیج منیجر پایتون است.
یکی از دلایل نصبvenv این است که اگر بخواهیم برای هر پروژه تعدادی پکیج نصب کنیم، این باعث سنگین شدن پایتون می شود.
سپس با دستور زیر باید فعال سازی صورت گیرد:
C:\Users\Shahram>F:\shahram\ML\my_env\Scripts\activate
یا با دستور جدید زیر:
C:\Users\Shahram>C:\Users\Shahram\Desktop\flask_scrap2\Scripts\activate
بعد از این دستور وجود عبارت my-env نشان میدهد که ما در محیط مجازی ساخته شده خودمان در حال کد زدن هستیم.
pip list
با دستور pip list میتوان نام پکیج های موجود را مشاهده کرد.

که مشخص است بسیار سبک و خلوت است. و این مطلوب است برای ما. یعنی بار زیادی نداریم و چابک میتوانیم ادامه دهیم 🙂
مقایسه کنید با نتیجه Pip list در جوپیتر :

متناسب با پیام زرد رنگ بالا دستور زیر را اجرا میکنیم تا بروزرسانی pip صورت گیرد:
(my_env) C:\Users\Shahram>F:\shahram\ML\my_env\Scripts\python.exe -m pip install --upgrade pip
که مشخص است ورژن pip به22.3.1 ارتقاع پیدا کرده است.

یادآوری pip freeze:
دستوری مشابه با pip list را در پایچارم داشتیم: pip freeze که لیست پکیجهای موجود را به ما نشان میداد.
با دستور زیر یک چیز دیگر نصب میکنیم:
pip install pytz

حال اگر مجددا pip list بگیریم باید pytz را نیز می بینیم.
مزیت این روش این است که پکیج نصب شده فقط در محیط مجازی مد نظر ما نصب میشود و نه بر روی پایتون اصلی سیستم که باعث سنگین شدن سیستم ما شود.
بازگشت به حالت قبل از venv
با دستور deactivate میتوان به حال قبل بازگشت:

کد:
(flask_scrap2) C:\Users\Shahram>C:\Users\Shahram\Desktop\flask_scrap2\Scripts\deactivate
محیط مجازی در جوپیتر:
ابتدا در cmd با دستور زیر محیط مجازی را ایجاد میکنیم: (این کد باعث میشود که یک فولدر به نام تست بعنوان محیط مجازی ما ساخته شود)
py -m venv C:\Users\Shahram\Desktop\test
طبیعتا درون آن موارد زیر وجود دارد:

سپس با دستور زیر آن را فعال میکنیم:
C:\Users\Shahram\Desktop\test\Scripts\activate
سپس کتابخانه آزمایشی زیر را نصب میکنیم تا ساز و کار موجود در محیط مجازی را به درستی متوجه شویم(لینک)
pip install pip-install-test
حال میبینیم که بعد از نصب این کتابخانه در بخش lib وجود دارد:

ساخت یک کرنل برای نوتبوک:
ابتدا باید ipykernel را نصب کنیم: ( ابتدا باید به محیط مجازی برگردیم)
pip install ipykernel
آخرین اقدام–> عدم امکان نصب ipykernel در cmd –> از دقیقه 3 ویدئو (رفرنس سوم) تا پایان ویدئو باقی مانده است.
منابع:
2- استک اورفلوی عزیز 🙂
3- ویدئو در مورد ایجاد در ژوپیتر