Windows 10 + Python = VS Code + WSL

в 2:22, , рубрики: django, linux, python, python3, Ubuntu, visual studio code, Windows 10, WSL, WSL2, Разработка под Linux, разработка под windows

image
Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше… Всего. К счастью последнее время они только радуют меня своим потенциалом. А после выступления Satya Nadella, где он рассказал миру о том, что Windows больше не является основным продуктом компании, так как они положили курс на внедрение своих API…. Повсюду
Для разработчиков ПО они так же не скупятся. 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

и скачали любимый дистрибутив из официального магазина.
image.

После простейших манипуляций создания пользователя вы получаете доступ к терминалу 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

Для удобной разработки стоит добавить Python, Git History, Django… А дальше уже чего душа пожелает.
image
image
image

После этого смело перезапускайте редактор, после чего можете открывать свой проект

File -> Open Folder

. После загрузки обратите внимание в левый нижний угол экрана.
image
Это позволит переоткрыть папку с использованием WSL
image

Разница в том, что VS Code в этом случае переключается на ядро Linux, которое является нижним слоем ядра Windows. Это позволит использовать нужный интерпритатор, а так же терминал прямо из редактора.image
image

Так же можно использовать Windows Terminal. Это значительно повысит эффективность работы, так как в него так же интегрирована WSL.image

image

В комплексе все это обеспечивает комфортную работу на Windows с возможностями Linux. А также преимущественным фактором есть то, что рабочая среда имеет доступ к основной системе, но изолирована от нее ядром и базовой файловой системой.

Автор: Dmitry

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js