![image](https://habrastorage.org/webt/m2/_c/ey/m2_ceykmjmgcdvt9mn0_6vok2r8.png)
Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше…
Для разработчиков ПО они так же не скупятся. C#, Azure, Visual Studio… Но сейчас пойдет речь о Python, ведь для него местечко здесь тоже пригрели.
Кратко о WSL
С обновлением Windows появилась возможность использовать такую штуку, как WSL (Windows Subsystem for Linux). Не так давно появилась WSL2 с ОЧЕНЬ крутыми доработками. WSL2 использует новейшую и самую новую технологию виртуализации для запуска ядра Linux внутри упрощенной служебной виртуальной машины. Это значит, что такие атрибуты, как изоляция и замедление работы здесь отсутствуют.
Linux или Linux
Рано или поздно разработчик принимает решение в какой среде разрабатывать, а это, как ни как, очень и очень важный момент. Довольно важную роль играет операционная система, на которой код запускается. Ведь дело не только в компиляторе или интерпретаторе, но и в службах, которые работают в тесном и дружеском круге. А за корректность работы этих боевых единиц отвечает ядро этой ОС. Речь пойдет о Windows и Linux. И это не из разряда ЭТО лучше, а ЭТО хуже, ведь выбор редактора или системы — это не больше, чем дело вкуса в наше время. ВСЕ на сегодняшний день предоставляют массу инструментов для реализации чего-либо. Причиной того, что я отдаю предпочтение Linux – это гибкость. К сожалению, не все дополнения к Python работают на детище Microsoft. На пример: celery/redis, git, работа с локальными веб-серверами, docker….Думаю те, кто работали хотя бы с этим сталкивались с «некоторыми сложностями». Поэтому я думаю, что для любого Python-программиста работа с Linux (MacOS), мягко говоря, необходима…
Начало работы
И так Вы установили флаг в компонентах Windows,
![image](https://habrastorage.org/webt/yu/l9/09/yul909wkrw-8aex1vw4wcf7smxq.png)
и скачали любимый дистрибутив из официального магазина.
![image](https://habrastorage.org/webt/yk/zu/dd/ykzuddsdwxi0eepyuycn1alsmke.png)
После простейших манипуляций создания пользователя вы получаете доступ к терминалу Linux. Ничего необычного, если не брать в учет, то что файловые системы обеих ОС не изолированы друг от друга, в следствие чего появляется возможность манипуляции файловой системой Windows из-под Linux. Все логические разделы доступны в точке монтирования
/mnt/c/Program Files/
Разработка
Теперь перейдем непосредственно к разработке. При выборе редактора я бы остался с Visual Studio Code. Он включает в себя очень много инструментов, в том числе и отладчик, что делает из него полноценную IDE. Создание виртуального окружения на разных системах отличается. К примеру, после применения команды
python -m venv venv
на Windows создается .bat-активатор и python.exe файл, который будет использоваться в то время, как Linux копирует бинарную систему python. VS Code достаточно гибко настраиваемый с помощью расширений.
Ctrl+Shift+Xпозволит быстро перейти к дополнениям. В поиске нужно ввести WSL и скачать первое расширение из списка.
![image](https://habrastorage.org/webt/ts/re/1m/tsre1mb4j37fhgod5lf0eqaxvgu.png)
Для удобной разработки стоит добавить Python, Git History, Django… А дальше уже чего душа пожелает.
![image](https://habrastorage.org/webt/xv/g7/ph/xvg7phvowlbcdrz2nqu_zjixmsq.png)
![image](https://habrastorage.org/webt/wv/u6/l-/wvu6l-iztklhv_bstg_fumqqdjy.png)
![image](https://habrastorage.org/webt/sd/4i/-n/sd4i-n4pt1iky9a12nrksqjrnuu.png)
После этого смело перезапускайте редактор, после чего можете открывать свой проект
File -> Open FolderПосле загрузки обратите внимание в левый нижний угол экрана.
![image](https://habrastorage.org/webt/7e/ev/4r/7eev4rxa14extkiasc5w3tkegqc.png)
Это позволит переоткрыть папку с использованием WSL
![image](https://habrastorage.org/webt/w5/bq/95/w5bq95tlxi5r86m5fhzg978ln3w.png)
Разница в том, что VS Code в этом случае переключается на ядро Linux, которое является нижним слоем ядра Windows. Это позволит использовать нужный интерпретатор, а так же терминал прямо из редактора.
![image](https://habrastorage.org/webt/zg/gi/iy/zggiiyiwd36jvqsov6zlc2ziggk.png)
![image](https://habrastorage.org/webt/hc/uo/n9/hcuon9e78wapx0yfk5a2-si3dvc.png)
Так же можно использовать Windows Terminal. Это значительно повысит эффективность работы, так как в него так же интегрирована WSL.
![image](https://habrastorage.org/webt/6y/_h/5o/6y_h5objrotduxx-owp6vjatimi.png)
![image](https://habrastorage.org/webt/h9/pf/kg/h9pfkgdjayed2sjyb2csb4cmvdk.png)
В комплексе все это обеспечивает комфортную работу на Windows с возможностями Linux. А также преимущественным фактором есть то, что рабочая среда имеет доступ к основной системе, но изолирована от нее ядром и базовой файловой системой.