🛠️ Установка инструментов
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 Bash | source .venv/bin/activate |
Признак успеха — префикс (.venv) в начале строки приглашения.
Пакеты курса ставятся уже внутри активированного окружения:
pip install flask sqlalchemy python-dotenv
Зафиксировать состав окружения, чтобы повторить его на другой машине:
pip freeze > requirements.txt
pip install -r requirements.txt
.venv не коммитят — вместо неё в репозиторий кладут requirements.txt.MySQL
Понадобится начиная с уроков по SQLAlchemy. Ставится один раз на систему:
| Система | Команда |
|---|---|
| Windows | winget install Oracle.MySQL |
| macOS | brew install mysql |
| Linux и WSL | sudo apt install mysql-server |
Драйвер для Python ставится в окружение проекта:
pip install pymysql
Проверка, что сервер отвечает:
mysql --version
mysql -u root -p
Редактор
Курс написан под Visual Studio Code — команды и названия расширений ниже даны для него.
| Система | Команда |
|---|---|
| Windows | winget install Microsoft.VisualStudioCode |
| macOS | brew 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 --version | 3.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