🛠️ Установка инструментов

Python 3.12, venv, Flask, Django, DRF, MySQLPython Advanced
Кратко: курс проектный: почти каждый урок — это папка с приложением, своим окружением и зависимостями. Ключевые навыки установки — venv, requirements.txt и запуск по F5 с launch.json.

Что понадобится

ИнструментЗачемОбязателен
Python 3.12+Flask 3.x, SQLAlchemy 2.x и Django 5.x требуют современной версиида
venvсвоё окружение под каждый проект урокада
VS Code + расширение Pythonзапуск, отладка, точки остановада
MySQL 8уроки по SQLAlchemy и Django ORMс середины курса
REST Client или Postmanпроверка API без браузеражелателен

Python

Проверьте, есть ли Python уже сейчас — команда печатает версию:

python --version
python3 --version   # macOS и Linux

Курсу нужен Python 3.12 или новее. Если команда не найдена или версия старее — ставьте заново.

Windows

winget install Python.Python.3.12

Либо установщик с python.org. В первом окне установщика обязательно отметьте Add python.exe to PATH — без этой галочки терминал не увидит команду python.

macOS

brew install python@3.12

Linux и WSL

sudo apt update
sudo apt install python3 python3-venv python3-pip

Виртуальное окружение и пакеты

Пакеты ставятся не в систему, а в отдельное окружение внутри папки проекта. Так у каждого курса свой набор версий, и они не конфликтуют.

mkdir flask-lesson-01
cd flask-lesson-01
python -m venv .venv

Активация зависит от оболочки:

ОболочкаКоманда
PowerShell.venv\Scripts\Activate.ps1
cmd.exe.venv\Scripts\activate.bat
macOS / Linux / Git Bashsource .venv/bin/activate

Признак успеха — префикс (.venv) в начале строки приглашения.

Пакеты курса ставятся уже внутри активированного окружения:

pip install flask sqlalchemy python-dotenv

Зафиксировать состав окружения, чтобы повторить его на другой машине:

pip freeze > requirements.txt
pip install -r requirements.txt
Окружение создаётся заново для каждого проекта урока, а не одно на весь курс: у Flask-уроков и Django-уроков разные зависимости. Папку .venv не коммитят — вместо неё в репозиторий кладут requirements.txt.

MySQL

Понадобится начиная с уроков по SQLAlchemy. Ставится один раз на систему:

СистемаКоманда
Windowswinget install Oracle.MySQL
macOSbrew install mysql
Linux и WSLsudo apt install mysql-server

Драйвер для Python ставится в окружение проекта:

pip install pymysql

Проверка, что сервер отвечает:

mysql --version
mysql -u root -p

Редактор

Курс написан под Visual Studio Code — команды и названия расширений ниже даны для него.

СистемаКоманда
Windowswinget install Microsoft.VisualStudioCode
macOSbrew install --cask visual-studio-code
Linuxпакет .deb / .rpm с code.visualstudio.com

Расширения ставятся кнопкой в Marketplace или командой в терминале:

code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension humao.rest-client
ИдентификаторЧто даёт
ms-python.pythonзапуск, отладка (F5), выбор интерпретатора
ms-python.vscode-pylanceавтодополнение и проверка типов
humao.rest-clientзапросы к API прямо из .http-файла, без Postman
💡 Главный шаг после создания окружения: палитра команд (Ctrl+Shift+P) → Python: Select Interpreter → выберите интерпретатор из .venv. Иначе F5 запустит системный Python без ваших пакетов.

Отладка по F5

Курс постоянно ссылается на запуск через F5. Чтобы он работал с Flask, в папке проекта нужен файл конфигурации:

.vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Flask",
      "type": "debugpy",
      "request": "launch",
      "module": "flask",
      "env": { "FLASK_APP": "app.py", "FLASK_DEBUG": "1" },
      "args": ["run", "--no-debugger", "--no-reload"],
      "jinja": true
    }
  ]
}
Точка останова ставится щелчком слева от номера строки. При F5 выполнение замрёт на ней, и слева будут видны значения всех переменных.
⚠️ Проверить по документации: ключ "type" в конфигурации отладчика Python менялся между версиями расширения (python → debugpy). Если F5 ругается на тип, сверьтесь с документацией установленной у вас версии расширения.

Проверка, что всё встало

Команды, после которых можно начинать первый урок:

КомандаОжидаемый результат
python --version3.12 или выше
(.venv) в приглашенииокружение активировано
pip -Vпуть ведёт внутрь .venv
flask --versionверсия Flask и Python
mysql --versionверсия сервера (для уроков с БД)

Частые проблемы

Вместо запуска Python открывается Microsoft Store

Это windows-заглушка python.exe. Отключается в «Параметры → Приложения → Дополнительные параметры приложений → Псевдонимы выполнения приложения»: выключите python.exe и python3.exe. После этого переоткройте терминал.

PowerShell не даёт активировать окружение

Сообщение «выполнение сценариев отключено в этой системе». Разрешите скрипты своему пользователю — права администратора не нужны:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

pip поставил пакет, а импорт не находит его

Почти всегда окружение не активировано. Проверьте префикс (.venv) и путь, который печатает pip -V — он должен вести внутрь папки .venv.

VS Code запускает не тот Python

Палитра команд (Ctrl+Shift+P) → Python: Select Interpreter → выберите интерпретатор из .venv вашей папки. Внизу справа в строке состояния видно, какой выбран.

ModuleNotFoundError: No module named 'flask'

Пакет поставлен в системный Python, а запуск идёт из окружения (или наоборот). Активируйте .venv, повторите pip install и проверьте выбранный интерпретатор в VS Code.

Порт 5000 занят

Другой процесс уже слушает порт. Посмотрите, кто именно, и запустите приложение на другом порту вместо того, чтобы гасить чужой процесс:

netstat -ano | findstr :5000
flask run --port 5001