Гид по технологиям

Настройка Python в WSL на Windows

6 min read Программирование Обновлено 07 Jan 2026
Python в WSL на Windows — настройка и запуск
Python в WSL на Windows — настройка и запуск

Руки печатают на ноутбуке рядом с книгой по Python

Зачем Python в WSL?

Если вы одновременно осваиваете Linux и новый язык, это может казаться сложным. WSL даёт доступ к Linux-инструментам в знакомой среде Windows. Вы получаете среду, близкую к реальным Unix-системам, где написанные кем-то скрипты чаще всего запускаются «как есть».

Python кроссплатформенный, но многие руководства и готовые скрипты ориентированы на Unix-подобную среду. Нативный порт Python для Windows существует, но поведение Windows может отличаться — это осложняет перенос скриптов с Windows на другие системы. WSL способствует «Unix-подходу» к разработке: пути, права, утилиты и поведение интерпретатора ближе к тому, что ожидают Linux-разработчики.

Важно: если ваша цель — Windows-специфичное приложение (интеграция с PowerShell, COM, Win32 API), нативный Python для Windows может быть удобнее. Для кроссплатформенных скриптов и сервисов WSL чаще предпочтительнее.

Установка и версия Python на WSL

Многие дистрибутивы, включая те, что работают в WSL, поставляют Python по умолчанию. Тем не менее, версия может отличаться: на современных системах нужен Python 3.

Проверить версию можно так:

python -V

Или запустив интерпретатор напрямую. Если вывод показывает Python 2.x, доступны варианты:

  • Явно вызывать python3:
python3
  • В Ubuntu/Debian установить пакет-переадресатор:
sudo apt install python-is-python3
  • Создать алиас (простой и без риска системных конфликтов):
alias python="python3"

Поместите алиас в ваш файл запуска оболочки, например .bashrc или .zshrc, чтобы он применялся автоматически.

  • Рискованная опция — создать символьную ссылку:
sudo ln -s /usr/bin/python /usr/bin/python3

Это ненадёжно: обновления могут перезаписать ссылку и вернуть Python 2, что сломает системные скрипты. Рекомендация: избегайте глобальной замены, предпочитайте алиасы или пакет-обёртки.

Интерактивный интерпретатор в WSL

Интерактивный Python-интерпретатор в WSL с примером

Чтобы быстро проверить идею или изучить синтаксис, запустите интерактивный интерпретатор:

  • Введите python3 (или python, если настроили алиас).
  • Печатайте выражения и видьте результат сразу.

Пример классической команды вывода:

print("Hello, world!")

Чтобы выйти из интерпретатора, нажмите Ctrl+D или выполните:

exit()

Интерактивная сессия полезна для быстрой отладки, изучения новых библиотек и проверки поведения функций перед написанием полноценного скрипта.

Написание и запуск скриптов в WSL

Создание исполняемых скриптов в WSL похоже на обычную практику в Unix:

В начало файла добавьте shebang:

#!/usr/bin/env python

Эта строка запускает Python там, где он установлен, что делает скрипт переносимым между системами.

Сделайте файл исполняемым:

chmod +x script.py

Запустите скрипт из каталога:

./script.py

Если вы используете виртуальные окружения (рекомендуется), создайте их так:

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip

Виртуальные окружения изолируют зависимости проекта и предотвращают конфликт версий между проектами.

Быстрый набор команд (cheat sheet)

# Проверить версию
python -V

# Явно вызвать python3
python3

# Установить переадресатор в Ubuntu/Debian
sudo apt install python-is-python3

# Создать виртуальное окружение
python3 -m venv .venv
source .venv/bin/activate

# Сделать скрипт исполняемым
chmod +x script.py
./script.py

Краткое руководство по началу работы

  1. Установите WSL (WSL2 предпочтительнее для лучших файловых и сетевых возможностей).
  2. Установите выбранный дистрибутив (Ubuntu, Debian, openSUSE и т. п.).
  3. Обновите пакеты: sudo apt update && sudo apt upgrade.
  4. Убедитесь в наличии Python 3: python3 -V.
  5. Настройте алиас или пакет python-is-python3, если хотите использовать команду python.
  6. Создайте виртуальное окружение для проекта.
  7. Пишите скрипты с shebang и проверяйте их в интерпретаторе.

Факт-бокс: ключевые понятия

  • Python 3 — текущая ветка разработки Python.
  • shebang (#!/usr/bin/env python) делает скрипт переносимым.
  • Виртуальные окружения (venv) изолируют зависимости.
  • Не создавайте глобальных символьных ссылок, если не уверены в последствиях.

Когда это может не подойти (контрпримеры)

  • Если вам нужна глубокая интеграция с Windows-специфичными API (COM, WinRT), WSL — не лучший выбор. В таких случаях используйте нативный Python для Windows.
  • При работе с высокопроизводительными I/O на файловой системе Windows (особенно при WSL1) могут появиться замедления — тестируйте производительность.
  • Если проект требует точной конфигурации ядра Linux (модули, специфические устройства), может понадобиться полноценная VM или удалённый сервер.

Альтернативные подходы

  • Нативный Python для Windows: удобен для Windows-ориентированных задач.
  • Docker-контейнеры: дают изолированную и воспроизводимую среду, хороши для CI/CD.
  • Удалённая виртуальная машина или VPS: полезно для тестирования на «настоящем» Linux.

Ментальные модели и эвристики

  • «Работает в WSL — скорее всего, будет работать и на Linux»: WSL приближает поведение к Linux, но обязательно тестируйте на целевой системе.
  • «Изолируй зависимости»: всегда используйте виртуальное окружение для каждого проекта.
  • «Не ломай систему ради удобства»: предпочитайте алиасы и пользовательские настройки вместо глобальных изменений системных бинарников.

Руководства по ролям — чек-листы

  • Для начинающего программиста:

    • Установить WSL и дистрибутив.
    • Проверить python3 -V.
    • Создать виртуальное окружение и попробовать print("Hello").
  • Для веб-разработчика:

    • Установить менеджеры зависимостей (pip, poetry) в виртуальном окружении.
    • Настроить .env и запуск сервера разработки через WSL.
    • Проверить взаимодействие с Windows-редактором (лучше хранить проект в файловой системе Linux).
  • Для дата-сайентиста:

    • Использовать venv или conda в WSL (если поддерживается).
    • Проверить установку библиотек с компилируемыми зависимостями (numpy, pandas).
    • Оценить необходимость GPU: WSL2 поддерживает некоторые GPU-адаптации, но это отдельная тема.
  • Для системного администратора/DevOps:

    • Автоматизировать установку через скрипты/анибил.
    • Использовать Docker для воспроизводимости.
    • Не менять системные бинарники без полного понимания последствий.

Критерии приёмки

  • Команда python3 -V возвращает ожидаемую версию Python 3.
  • Скрипт с shebang запускается через ./script.py без правки путей.
  • Виртуальное окружение активируется и в нём можно установить зависимости через pip.
  • Код запускается одинаково в WSL и на Linux-хосте (минимальные отличия).

Совместимость и советы по миграции

  • Файлы проекта: храните исходники в файловой системе Linux (например, в /home/…), а не в /mnt/c/…, чтобы избежать проблем с правами и производительностью.
  • Путь к исполняемым файлам и разделители отличаются: используйте относительные пути и переменные окружения.
  • Если вы используете редактор в Windows (VS Code), включите Remote - WSL расширение для работы с файлами на стороне Linux.

Важное: при работе с файлами между Windows и WSL внимательно относитесь к правам доступа и окончаниям строк (LF vs CRLF).

Безопасность и права

  • Не давайте скриптам права chmod +x, если вы не доверяете их содержимому.
  • Не создавайте глобальных символьных ссылок для замены системных бинарников.
  • Контролируйте версии пакетов и проверяйте зависимости перед деплоем.

Краткое резюме

WSL — удобный и мощный способ писать Python на Windows в среде, близкой к Linux. Он упрощает работу с Unix-ориентированными туториалами и готовыми скриптами. Настройте Python 3, используйте виртуальные окружения и храните проекты в файловой системе Linux. Для Windows-специфичных задач остаётся нативный Python или другие инструменты; для контейнеризованных сценарииев — рассмотрите Docker.

Важно: тестируйте код на целевой среде и не меняйте системные бинарники без необходимости.

Подпись: начните с python3 -V, создайте виртуальное окружение и попробуйте print("Hello, world!") — это подтвердит готовность среды.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство