Перейти к содержимому
k01

k01. Старт: окружение Windows

k01. Старт: окружение Windows

UAV Python Pro · Конспект K01 · Модуль M0. Старт: окружение Windows · Редакция 1.0 · После CHECKPOINT-K00

На этом уроке вы соберёте рабочее место программиста БПЛА на Windows: язык Python, среда разработки PyCharm Pro, система контроля версий Git и аккуратная папка курса. Без этого шага нельзя надёжно запускать симулятор, скрипты MAVLink и проекты на Raspberry Pi. В конце — практика с проверками в терминале и чек-лист. Реальный дрон и пропеллеры на этом уроке не нужны.

Главное правило установки: Python и пакеты живут в виртуальном окружении проекта, а не «в системе как получится». PyCharm Pro должен видеть именно это окружение. Git сохраняет историю ваших правок, чтобы можно было откатиться. Если версия Python в терминале не находится после установки — чаще всего не отмечен пункт Add python.exe to PATH: это разбираем ниже по шагам.

Содержание

1. Цели урока

После этого урока вы будете уметь:

  • установить на Windows поддерживаемую версию Python 3 и проверить её командой в терминале;
  • установить Git, задать имя и электронную почту для подписей коммитов, проверить git --version;
  • установить PyCharm Pro, создать проект курса и привязать к нему виртуальное окружение (venv);
  • запустить из PyCharm простой скрипт и убедиться, что используется нужный интерпретатор;
  • создать согласованную структуру папок курса и сделать первый commit в Git;
  • понимать, зачем venv и почему нельзя «ставить всё пакеты в системный Python».
Практический смысл: после K01 любой следующий урок с кодом начинается одинаково — открыли проект, активировали окружение, работаете. Без хаоса «у меня на другом компьютере по-другому».
↑ К оглавлению

2. Словарь урока

ТерминПростыми словами
Интерпретатор Python Программа python.exe, которая выполняет ваш код. На компьютере их может быть несколько — важно, какую видит проект.
PATH Список папок Windows, где система ищет программы, когда вы вводите имя в терминале. Если Python не в PATH, команда python «не находится».
Терминал / оболочка Окно, куда вы вводите текстовые команды. На Windows удобны Windows Terminal, PowerShell или встроенный Terminal в PyCharm.
pip Стандартная программа для установки библиотек Python (пакетов), например позже pymavlink.
Пакет / библиотека Готовый набор чужого кода, который вы подключаете к своему проекту, а не пишете с нуля.
venv (виртуальное окружение) Отдельная «песочница» Python внутри папки проекта: свои пакеты, свои версии, не ломает системный Python и другие проекты.
IDE Integrated Development Environment — среда разработки. У нас PyCharm Pro: редактор, запуск, отладка, терминал, Git.
Git Система контроля версий: запоминает снимки изменений (commits), позволяет смотреть историю и откатываться.
Репозиторий (repo) Папка проекта, за которой следит Git (есть скрытый каталог .git).
Commit (коммит) Сохранённый снимок выбранных изменений с понятным текстовым описанием.
.gitignore Список файлов и папок, которые Git не должен отслеживать (например, venv, кэш, секреты).
py launcher На Windows команда py помогает запускать нужную версию Python, даже если их несколько.
↑ К оглавлению

3. Что именно установим и зачем

ИнструментЗачем в курсе БПЛАКогда понадобится дальше
Python 3.11 или 3.12 Язык всех учебных и боевых скриптов С K03 постоянно; pymavlink, OpenCV, сервисы
Git История кода, откат, привычка инженера Каждый модуль с кодом; маркеры CHECKPOINT удобно дублировать тегами
PyCharm Pro Удобная работа с проектом, отладка, venv, SSH на Pi позже Весь курс
Папка курса + venv Порядок и воспроизводимость Все практики

Mission Planner на этом уроке можно не ставить, если ещё не установлен: ему посвящён конспект K02. Если MP уже стоит — отлично, просто не отвлекайтесь на него сегодня.

Требования к компьютеру

  • Windows 10 или Windows 11 (64-bit).
  • Права на установку программ (или помощь администратора).
  • Свободное место: лучше не меньше 5–10 ГБ под Python, IDE, позже симулятор и логи.
  • Интернет для скачивания установщиков и (позже) пакетов pip.

Про WSL на этом уроке

WSL не нужен для K01. Мы работаем native Windows: Python, PyCharm, Git, затем Mission Planner и SITL. WSL (подсистема Linux) может понадобиться только если упрёмся в редкий Linux-only инструмент — для этого есть опциональный конспект K25b. Сейчас WSL не устанавливаем «на всякий случай».
↑ К оглавлению

4. Установка Python

Скачать установщик

  1. Откройте официальную страницу загрузок Python: https://www.python.org/downloads/windows/
  2. Выберите стабильный Python 3.12.x или 3.11.x (64-bit), установщик Windows installer (64-bit).
  3. Не скачивайте случайные «сборки Python» с неизвестных сайтов.
Почему 3.11 или 3.12: это современные стабильные ветки, с ними нормально живут научные и инженерные пакеты. Версию 3.13 можно брать только если сознательно готовы к тому, что какой-то пакет ещё может отставать; для курса надёжнее 3.11–3.12. Версии 2.x полностью не используем.

Поставить с правильными галочками

  1. Запустите скачанный .exe.
  2. На первом экране обязательно включите галочку Add python.exe to PATH (добавить Python в PATH).
  3. Нажмите Install Now (или Custom, если хотите выбрать папку; для новичка достаточно Install Now).
  4. Дождитесь окончания. При предложении Disable path length limit — можно согласиться (снимает старое ограничение длины пути Windows; для проектов с глубокими папками полезно).
  5. Закройте установщик.
Самая частая ошибка: забыли галочку Add to PATH. Тогда в новом терминале команда python не находится. Лечится либо переустановкой с Repair и галочкой PATH, либо ручным добавлением пути к python.exe в переменные среды Windows. Проще переустановить установщиком с правильной галочкой.

Проверка в терминале

  1. Закройте все старые окна терминала (они могли открыться ещё до установки и не увидеть новый PATH).
  2. Откройте новый PowerShell или Windows Terminal.
  3. Выполните команды по очереди:
py --version
python --version
py -m pip --version

Ожидаемый смысл ответа:

  • версия вида Python 3.12.x или Python 3.11.x;
  • pip сообщает свою версию и путь, связанный с этим Python.
Если работает только py, а python нет: для курса это терпимо на первых порах — в командах можно писать py вместо python. Но лучше добиться, чтобы работали обе. В PyCharm мы всё равно выберем интерпретатор явно.

Дополнительная проверка «где лежит Python»:

py -c "import sys; print(sys.executable); print(sys.version)"

Команда печатает полный путь к python.exe и версию. Этот путь пригодится, если PyCharm не найдёт интерпретатор сам.

Типичные ошибки

СимптомВероятная причинаЧто сделать
python не является командой… / not recognized Нет PATH или старый терминал Новый терминал; Repair установщика с Add to PATH
Открывается Microsoft Store вместо Python Псевдоним приложения Windows Параметры → Приложения → Дополнительные параметры приложений → Псевдонимы → выключить псевдонимы python.exe / python3.exe
Несколько разных версий, путаница Стояло несколько установщиков В PyCharm выбрать один конкретный; в терминале пользоваться py -3.12
pip ругается на права Попытка писать в системный каталог Не лечить «от администратора навсегда»; работать через venv (раздел 6)
↑ К оглавлению

5. Установка Git

Установка

  1. Официальный установщик: https://git-scm.com/download/win
  2. Запустите установщик 64-bit.
  3. На большинстве экранов для новичка достаточно значений по умолчанию.
  4. Обратите внимание на пункты (смысл):
    • Git from the command line and also from 3rd-party software — чтобы git был в PATH и PyCharm его видел;
    • редактор по умолчанию можно оставить как предлагает установщик (или Notepad, если так комфортнее на старте);
    • перевод строк: рекомендуемый для Windows вариант установщика (checkout Windows-style, commit Unix-style) — нормальный выбор для кроссплатформенных проектов.
  5. Завершите установку. Откройте новый терминал.

Первичная настройка имени и почты

Git подписывает каждый commit именем и почтой. Это не обязательно «публичный GitHub-аккаунт прямо сейчас», но поля должны быть заполнены осмысленно — вы же сами будете читать историю.

git config --global user.name "Ваше Имя"
git config --global user.email "Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript."
git config --global init.defaultBranch main

Подставьте свои имя и почту. Ветка по умолчанию main — современный стандарт.

Проверка настроек:

git config --global --list

Проверка

git --version

Должна появиться строка вида git version 2.x.x.

Зачем Git уже на M0: даже один человек без команды выигрывает. Сломали скрипт — откатились. Поставили CHECKPOINT — можно пометить тегом. Через месяц видно, что меняли. На работе без Git программиста БПЛА почти не бывает.
↑ К оглавлению

6. PyCharm Pro: проект и интерпретатор

Установка

  1. Страница JetBrains PyCharm: https://www.jetbrains.com/pycharm/download/
  2. Нужен PyCharm Professional (Pro), как вы зафиксировали в стеке. Установите с лицензией / trial по вашим правилам JetBrains.
  3. При установке оставьте ассоциации .py и ярлыки по желанию.
  4. Запустите PyCharm, пройдите первоначальный мастер (тема, плагины — на вкус; для курса достаточно стандартного набора).
Community vs Pro: для старта Python хватит и Community, но вы выбрали Pro — будем опираться на него (удобнее remote/SSH на Raspberry Pi, веб и другие возможности позже). Если Pro временно недоступен, напишите ментору — дадим ветку на Community без ломки программы.

Создание проекта курса

  1. На экране приветствия: New Project.
  2. Тип: Pure Python (чистый Python-проект).
  3. Location (расположение) — выберите понятный путь без кириллицы и пробелов по возможности, например:
    C:\work\uav-python-pro
    Кириллица в пути иногда живёт нормально, но у части инструментов с путями бывают сюрпризы; латиница надёжнее.
  4. Python interpreter / Environment:
    • выберите New environment using Virtualenv (новое окружение Virtualenv);
    • Base interpreter — ваш Python 3.11/3.12, который ставили;
    • расположение venv оставьте внутри проекта, обычно папка .venv или venv.
  5. Снимите лишние галочки шаблонов, если не нужны. Создайте проект (Create).

Виртуальное окружение: как понять, что всё правильно

Внизу справа в PyCharm обычно виден интерпретатор. Откройте Settings / SettingsProject: …Python Interpreter. Путь должен указывать внутрь папки проекта, на что-то вроде:

C:\work\uav-python-pro\.venv\Scripts\python.exe

а не только на «голый» системный Python без venv, если вы сознательно создавали venv.

Почему venv обязателен: курс будет ставить pymavlink, pyserial, opencv и другие пакеты. Если ставить их в системный Python, через полгода получите конфликт версий между проектами и «у меня дома работает, на Pi нет». В venv список пакетов проекта ясен и переносим через requirements.txt (сделаем в модуле Python).

Откройте встроенный Terminal в PyCharm (вкладка Terminal). В начале строки часто видно (.venv) — признак активированного окружения. Проверка:

python --version
python -c "import sys; print(sys.executable)"

Путь снова должен быть из папки .venv проекта.

Проверочный скрипт

  1. В корне проекта создайте папку code, внутри — M00_start.
  2. Создайте файл code/M00_start/k01_hello_check.py с содержимым:
"""K01: проверка, что интерпретатор проекта запускается."""

import sys
from datetime import datetime


def main() -> None:
    print("UAV Python Pro · K01 check")
    print("time:", datetime.now().isoformat(timespec="seconds"))
    print("executable:", sys.executable)
    print("version:", sys.version.replace("\n", " "))
    print("OK")


if __name__ == "__main__":
    main()
  1. Правый щелчок по файлу → Run (или зелёный треугольник).
  2. В окне Run должны появиться строки с путём к .venv\Scripts\python.exe и финальное OK.
Критерий успеха раздела: скрипт запускается из PyCharm, в выводе путь executable содержит .venv (или имя вашего venv), в конце есть OK.
↑ К оглавлению

7. Структура папок курса и Git-репозиторий

Если вы уже копируете материалы ментора с диска/облака — совместите деревья аккуратно. Ниже — целевая схема, которую будем держать весь курс.

uav-python-pro/                 ← корень проекта PyCharm и git-репозиторий
├── .venv/                      ← виртуальное окружение (НЕ коммитим)
├── .gitignore
├── README.md                   ← можно короткий свой
├── code/
│   └── M00_start/
│       └── k01_hello_check.py
├── docs/                       ← ваши заметки, ответы на практику (по желанию)
│   └── k00_answers.txt
└── (материалы курса с сайта — отдельно или рядом, как удобно)

Материалы HTML с сайта technobee не обязаны лежать внутри git-проекта. Код практик — обязан: его версионируем.

git init и первый commit

В Terminal PyCharm (убедитесь, что текущая папка — корень проекта):

cd C:\work\uav-python-pro
git init

Файл .gitignore

Создайте в корне файл .gitignore:

# виртуальные окружения
.venv/
venv/
env/

# кэш Python
__pycache__/
*.py[cod]
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# PyCharm / IDE
.idea/
*.iml

# система и мусор
.DS_Store
Thumbs.db
desktop.ini

# секреты и локальные конфиги (на будущее)
.env
*.pem
secrets/

# логи и тяжёлые данные (на будущее)
*.tlog
*.bin
logs/
data/raw/

Первый commit:

git add .gitignore code/M00_start/k01_hello_check.py
git status
git commit -m "K01: initial course project and hello check"
git status

После успешного commit статус должен быть чистым (или показывать только неотслеживаемые файлы, которые вы сознательно не добавляли).

Связь с маркерами курса: когда ментор ставит CHECKPOINT-K01, у себя можете дополнительно сделать git tag CP-K01. Это ваш личный страховочный трос, параллельный маркерам в чате.
GitHub пока не обязателен. Локального репозитория достаточно. Выкладку на GitHub сделаем, когда понадобится портфолио или синхронизация с Raspberry Pi.
↑ К оглавлению

8. Привычки терминала Windows

ПривычкаЗачем
После установки программ открывать новый терминал Старый сеанс мог не увидеть обновлённый PATH
Смотреть на путь в sys.executable Убедиться, что это venv проекта, а не чужой Python
Ставить пакеты только при активном venv: python -m pip install … Пакет попадёт в проект, а не «в неизвестное место»
Команда через python -m pip, а не голый pip Меньше шансов вызвать pip от другого Python
Не работать постоянно «от Администратора» Маскирует проблемы с правами; на Pi так не будет
Пути проекта без лишней экзотики Меньше сюрпризов у инструментов и скриптов

Полезные команды навигации в PowerShell:

pwd              # где я сейчас
ls               # список файлов
cd путь\к\папке  # перейти
cd ..            # на уровень вверх
↑ К оглавлению

9. Практика

Выполняется на вашем Windows. Ответы и выводы команд можно сохранить в docs/k01_notes.txt.

Задание 1.1. Версии инструментов

В новом терминале выполните и сохраните вывод:

py --version
python --version
py -m pip --version
git --version

Критерий: все четыре команды отвечают без ошибки (допустимо, если вместо python стабильно используете py, но тогда в заметке так и напишите).

Задание 1.2. Проверочный скрипт из PyCharm

Запустите code/M00_start/k01_hello_check.py. Убедитесь, что executable указывает на venv проекта и в конце есть OK.

Задание 1.3. Первый commit

Сделайте git init, добавьте .gitignore и скрипт, выполните commit. Затем:

git log --oneline -n 3

В логе должна быть ваша запись с сообщением про K01.

Задание 1.4. Объяснение своими словами

Запишите 4–6 предложений: зачем venv и что будет, если ставить все пакеты курса в системный Python.

Эталон смысла:
venv — отдельная песочница пакетов для проекта. Системный Python
остаётся чистым. Разные проекты могут иметь разные версии библиотек.
Легче повторить окружение на другой машине и на Raspberry Pi.
Без venv конфликты версий и «у меня работает, у коллеги нет» почти неизбежны.

Задание 1.5. Симуляция сбоя PATH (на бумаге)

Не ломая систему специально: опишите, что вы сделаете, если завтра python вдруг станет not recognized.

Эталон смысла:
1) открыть новый терминал;
2) проверить py --version;
3) при необходимости Repair Python с галочкой PATH
   или отключить псевдонимы Microsoft Store;
4) в PyCharm проверить, что интерпретатор проекта на месте.
↑ К оглавлению

10. Проверьте себя

  1. Что такое PATH и почему без него терминал «не видит» Python?
  2. Чем команда py полезнее на Windows, если установлено несколько версий Python?
  3. Что такое venv и где физически лежит его python.exe в вашем проекте?
  4. Почему пакеты лучше ставить командой python -m pip install … внутри venv?
  5. Что такое commit в Git и зачем нужен файл .gitignore?
  6. Почему на K01 мы не ставим WSL «про запас»?
  7. Как по выводу sys.executable понять, что PyCharm запустил не тот интерпретатор?
↑ К оглавлению

11. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на вашей машине:

  • Python 3.11 или 3.12 установлен, py --version (и/или python --version) показывает ожидаемую версию
  • Понятно, что делать, если python не recognized или открывается Store
  • py -m pip --version работает
  • Git установлен, git --version работает
  • Заданы user.name и user.email
  • PyCharm Pro установлен, проект курса создан
  • Интерпретатор проекта — venv внутри папки проекта
  • Скрипт k01_hello_check.py печатает OK и путь к venv
  • Есть .gitignore, исключающий .venv/ и кэш
  • Сделан хотя бы один commit с осмысленным сообщением
  • Могу своими словами объяснить зачем venv
  • Понимаю, что WSL на этом шаге не обязателен
Результат: все пункты закрыты — напишите ментору K01 чек-лист закрыт. Желательно одной строкой приложить версии: Python, Git (скопируйте вывод команд). После проверки поставим CHECKPOINT-K01 и перейдём к K02 (обзор Mission Planner). Когда закроются K01 и K02, закроем гейт G0.
↑ К оглавлению

12. Что дальше

  • Предыдущий конспект: K00 · Введение в курс и профессию
  • Следующий конспект: K02 · Mission Planner: обзор без полёта
  • Затем модуль M1 — Python intensive, уже внутри подготовленного проекта
Если застряли на установке: пишите Blocker с точным текстом ошибки и номером шага (например: «K01 §4, после установки python not recognized»). Не ставьте параллельно десять разных Python «на авось» — сначала разберём одну чистую установку.
↑ К оглавлению

 

 

Вторник, 11 августа 2026
k01. Старт: окружение Windows