Python в WSL — настройка и быстрый старт
Python в WSL даёт привычную для Unix среду разработки прямо в Windows. Быстрая проверка версий, запуск интерактивного интерпретатора и простая организация скриптов — всё это работает из коробки; используйте виртуальные окружения и избегайте установки пакетов с sudo.

Python — простой язык для начала программирования, а запуск Python в Windows Subsystem for Linux (WSL) на Windows 10 и 11 — удобный путь к кросс‑платформенной разработке.
В этом руководстве показано, как подготовить окружение для разработки на Python в WSL, как запускать интерпретатор и скрипты, а также какие практики и инструменты удобно применять.
Зачем Python в WSL?
Если вы новичок в Linux, совмещать изучение новой ОС с новым языком кажется сложной задачей. WSL даёт доступ к привычным Linux‑инструментам (командная строка, пакеты, планировщики задач и т.д.) в знакомой Windows‑среде.
Хотя Python кросс‑платформенный, многие учебники, утилиты и готовые скрипты ориентированы на Unix‑подобные системы. Нативная портированная версия под Windows работает по‑временному «по‑windows‑стилю», что иногда мешает переносу приложений между системами.
WSL создаёт «более unix‑подобный» рабочий процесс: скрипты, написанные вами, скорее всего запустятся у других пользователей Linux, и наоборот.
Установка и проверка версии Python в WSL
Во многих дистрибутивах Linux Python уже установлен. Тем не менее, версия может отличаться: Python 3 активен и поддерживается, тогда как Python 2 устарел и не получает обновлений.
Проверьте установленную версию командой:
python -VИли явно для Python 3:
python3 -VЕсли по умолчанию система указывает на Python 2, есть несколько безопасных вариантов:
- Указывать python3 в командах явно:
python3 script.py- В Ubuntu/Debian установить пакет, который делает python ссылкой на python3:
sudo apt update && sudo apt install python-is-python3- Создать алиас в файле инициализации оболочки, например в ~/.bashrc или ~/.zshrc:
alias python="python3"- Менее безопасный вариант — создать символьную ссылку (может быть перезаписана при обновлении системы):
sudo ln -s /usr/bin/python3 /usr/bin/pythonВажно: избегайте изменения системных бинарников без понимания последствий. Символьные ссылки могут быть перезаписаны обновлениями и привести к конфликтам с системными пакетами.
Запуск интерактивного интерпретатора в WSL
Интерактивный режим (REPL) — быстрый способ пробовать идеи и учиться: запускайте интерпретатор и вводите команды, чтобы сразу видеть результат.
Запуск:
python3Простой пример вывода строки:
print("Hello, world!")Чтобы выйти из REPL, нажмите Ctrl+D или выполните:
exit()Написание и выполнение скриптов в WSL
Скрипт Python обычно начинается со строки shebang, которая указывает, каким интерпретатором запускать файл:
#!/usr/bin/env pythonЭта строка вызывает программу env и запускает первый найденный python в PATH — это полезно при переносимости между системами.
Сделайте файл исполняемым:
chmod +x script.pyЗапуск в каталоге с файлом:
./script.pyАльтернатива — явный вызов интерпретатора:
python3 script.pyБыстрый старт с проектом: мини‑методология
- Создайте каталог проекта: mkdir myproject && cd myproject
- Инициализируйте виртуальное окружение (рекомендуется):
python3 -m venv venv
source venv/bin/activate- Создайте requirements.txt и фиксируйте зависимости:
pip install -r requirements.txt
pip freeze > requirements.txt- Настройте систему контроля версий (git) и добавьте .gitignore (игнорируйте venv, .pyc и др.).
- Добавьте простые тесты и CI для автоматической проверки (например, GitHub Actions).
Шпаргалка команд (cheat sheet)
- Проверить версии:
python -V
python3 -V- Создать виртуальное окружение:
python3 -m venv venv- Активировать venv:
source venv/bin/activate- Установить пакет без глобальной установки:
pip install - Сделать скрипт исполняемым:
chmod +x script.py
./script.py- Быстрая отладка — запустить интерпретатор и экспериментировать в REPL:
python3Когда такой подход не подходит (контрпример)
- Если ваше приложение жёстко привязано к Windows‑API (GUI‑приложения на pywin32), запускать его в WSL неудобно; лучше использовать нативную Windows‑сборку.
- Для изолированных окружений с тяжёлыми зависимостями (специфичные бинарные сборки) Docker или полноценная виртуальная машина могут быть надёжнее.
Альтернативные подходы
- Нативный Python под Windows — быстро, если вы ориентируетесь исключительно на Windows‑платформу.
- Docker контейнеры — повторяемость окружения и лёгкая упаковка для продакшена.
- Виртуальные машины (VirtualBox, Hyper‑V) — когда нужен полный контроль над дистрибутивом и его конфигурацией.
Практики безопасности и жёсткие рекомендации
- Не используйте sudo pip install — это меняет системные пакеты. Используйте виртуальные окружения или инструменты управления версиями (pyenv).
- Фиксируйте версии в requirements.txt.
- Проводите базовую проверку уязвимостей зависимостей (pip audit или внешние сканеры).
- Ограничьте права на исполняемые скрипты и избегайте запуска непроверённых скриптов от имени root.
Критерии приёмки
- Скрипт запускается в WSL командой python3 script.py или ./script.py (при наличии shebang и прав).
- Виртуальное окружение присутствует и зависимости установлены из requirements.txt.
- Тесты проходят локально (минимум 1–2 автоматизированных теста).
- Документация в README объясняет, как запустить проект.
Контрольный список по ролям
Новичок:
- Установить WSL и дистрибутив (Ubuntu/Debian рекомендуется).
- Проверить python3 -V и запустить REPL.
- Создать простейший script.py и запустить его.
Разработчик:
- Настроить venv и requirements.txt.
- Настроить .gitignore и базовые тесты.
- Проверить совместимость с другими Unix‑системами.
DevOps/Инженер по инфраструктуре:
- Автоматизировать сборку/CI на основе тех же команд.
- Обеспечить, чтобы окружение в CI соответствовало WSL‑дистрибутиву.
1‑строчный глоссарий
- WSL — Windows Subsystem for Linux, слой совместимости для запуска Linux на Windows.
- SHEBANG — первая строка скрипта вида #!/usr/bin/env python, указывающая интерпретатор.
- venv — встроенный инструмент Python для создания виртуальных окружений.
Примеры тест‑кейсов / критерии приёмки для простого скрипта
- Запуск без ошибок: python3 script.py возвращает код 0.
- Правильный вывод: script.py выводит ожидаемую строку/результат.
- Права доступа: script.py имеет флаг executable при запуске как ./script.py.
Краткие советы по интеграции с редакторами
Visual Studio Code имеет расширение Remote — WSL, которое позволяет открывать папки в WSL напрямую и запускать отладку как в обычной Linux‑среде. Это даёт привычный рабочий процесс с поддержкой расширений и терминала внутри редактора.
Итог
WSL — удобный и гибкий способ работать с Python в Unix‑подобной среде на Windows. Он упрощает переносимость скриптов, ускоряет раннюю проверку идей и хорошо сочетается с инструментами современного разработки. Следуйте простым правилам: используйте python3, предпочитайте виртуальные окружения, не ставьте пакеты глобально с sudo и документируйте запуск проекта.
Важно: начните с простого — проверьте python3 -V, запустите REPL и создайте небольшой script.py. Затем переходите к организации проекта через venv, requirements.txt и систему контроля версий.
Похожие материалы
Проверка защиты ПК от Meltdown и Spectre
Двойная экспозиция в Procreate
Как разделить экран в Windows 10 и Windows 11
Скрыть кнопку питания в меню «Пуск» Windows
Эмуляция ретро‑игр на ПК: NES, SNES, PS1 и др.