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».
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 на этом уроке
4. Установка Python
Скачать установщик
- Откройте официальную страницу загрузок Python: https://www.python.org/downloads/windows/
- Выберите стабильный Python 3.12.x или 3.11.x (64-bit), установщик Windows installer (64-bit).
- Не скачивайте случайные «сборки Python» с неизвестных сайтов.
Поставить с правильными галочками
- Запустите скачанный
.exe. - На первом экране обязательно включите галочку Add python.exe to PATH (добавить Python в PATH).
- Нажмите Install Now (или Custom, если хотите выбрать папку; для новичка достаточно Install Now).
- Дождитесь окончания. При предложении Disable path length limit — можно согласиться (снимает старое ограничение длины пути Windows; для проектов с глубокими папками полезно).
- Закройте установщик.
python не находится. Лечится либо переустановкой с Repair и галочкой PATH, либо ручным добавлением пути к python.exe в переменные среды Windows. Проще переустановить установщиком с правильной галочкой.Проверка в терминале
- Закройте все старые окна терминала (они могли открыться ещё до установки и не увидеть новый PATH).
- Откройте новый PowerShell или Windows Terminal.
- Выполните команды по очереди:
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
Установка
- Официальный установщик: https://git-scm.com/download/win
- Запустите установщик 64-bit.
- На большинстве экранов для новичка достаточно значений по умолчанию.
- Обратите внимание на пункты (смысл):
- Git from the command line and also from 3rd-party software — чтобы
gitбыл в PATH и PyCharm его видел; - редактор по умолчанию можно оставить как предлагает установщик (или Notepad, если так комфортнее на старте);
- перевод строк: рекомендуемый для Windows вариант установщика (checkout Windows-style, commit Unix-style) — нормальный выбор для кроссплатформенных проектов.
- Git from the command line and also from 3rd-party software — чтобы
- Завершите установку. Откройте новый терминал.
Первичная настройка имени и почты
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.
6. PyCharm Pro: проект и интерпретатор
Установка
- Страница JetBrains PyCharm: https://www.jetbrains.com/pycharm/download/
- Нужен PyCharm Professional (Pro), как вы зафиксировали в стеке. Установите с лицензией / trial по вашим правилам JetBrains.
- При установке оставьте ассоциации .py и ярлыки по желанию.
- Запустите PyCharm, пройдите первоначальный мастер (тема, плагины — на вкус; для курса достаточно стандартного набора).
Создание проекта курса
- На экране приветствия: New Project.
- Тип: Pure Python (чистый Python-проект).
- Location (расположение) — выберите понятный путь без кириллицы и пробелов по возможности, например:
Кириллица в пути иногда живёт нормально, но у части инструментов с путями бывают сюрпризы; латиница надёжнее.C:\work\uav-python-pro - Python interpreter / Environment:
- выберите New environment using Virtualenv (новое окружение Virtualenv);
- Base interpreter — ваш Python 3.11/3.12, который ставили;
- расположение venv оставьте внутри проекта, обычно папка
.venvилиvenv.
- Снимите лишние галочки шаблонов, если не нужны. Создайте проект (Create).
Виртуальное окружение: как понять, что всё правильно
Внизу справа в PyCharm обычно виден интерпретатор. Откройте Settings / Settings → Project: … → Python Interpreter. Путь должен указывать внутрь папки проекта, на что-то вроде:
C:\work\uav-python-pro\.venv\Scripts\python.exe
а не только на «голый» системный Python без venv, если вы сознательно создавали venv.
requirements.txt (сделаем в модуле Python).Откройте встроенный Terminal в PyCharm (вкладка Terminal). В начале строки часто видно (.venv) — признак активированного окружения. Проверка:
python --version
python -c "import sys; print(sys.executable)"
Путь снова должен быть из папки .venv проекта.
Проверочный скрипт
- В корне проекта создайте папку
code, внутри —M00_start. - Создайте файл
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()
- Правый щелчок по файлу → Run (или зелёный треугольник).
- В окне Run должны появиться строки с путём к
.venv\Scripts\python.exeи финальноеOK.
.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. Это ваш личный страховочный трос, параллельный маркерам в чате.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. Проверьте себя
- Что такое PATH и почему без него терминал «не видит» Python?
- Чем команда
pyполезнее на Windows, если установлено несколько версий Python? - Что такое venv и где физически лежит его
python.exeв вашем проекте? - Почему пакеты лучше ставить командой
python -m pip install …внутри venv? - Что такое commit в Git и зачем нужен файл
.gitignore? - Почему на K01 мы не ставим WSL «про запас»?
- Как по выводу
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, уже внутри подготовленного проекта