Обновления документации по uv

This commit is contained in:
2025-10-15 10:52:20 +03:00
parent a336682ed2
commit 237dc041a2
2 changed files with 14 additions and 6 deletions
+2 -2
View File
@@ -18,8 +18,8 @@
Example: `make up && make airflow-init` then open `http://localhost:8080`. Example: `make up && make airflow-init` then open `http://localhost:8080`.
## Локальное Python-окружение ## Локальное Python-окружение
- Окружением управляет `uv`: `uv python install 3.11` и `uv python pin 3.11` скачивают и фиксируют версию Python для проекта. - Окружением управляет `uv`: достаточно выполнить `uv sync` (или `make dev-sync`), чтобы подтянуть нужный Python, создать `.venv` и установить зависимости.
- `uv sync` (или `make dev-setup` / `make dev-sync`) создаёт `.venv` и ставит dev-зависимости из `pyproject.toml` / `uv.lock`. - `make dev-setup` пригодится, когда нужно перепинить версию Python или прогреть кэш (вызовет `uv python install` + `uv python pin` перед `uv sync`).
- Команды разработчика: `make test`, `make lint`, `make fmt` (под капотом выполняются через `uv run`). - Команды разработчика: `make test`, `make lint`, `make fmt` (под капотом выполняются через `uv run`).
- Не используем `pip install --user`; если пакеты попали в user-site, удаляем через `pip uninstall <package>` и проверяем `pip list --user`. - Не используем `pip install --user`; если пакеты попали в user-site, удаляем через `pip uninstall <package>` и проверяем `pip list --user`.
- В IDE выбираем интерпретатор из `.venv` (`.venv\Scripts\python.exe` на Windows, `.venv/bin/python` на Linux/macOS). - В IDE выбираем интерпретатор из `.venv` (`.venv\Scripts\python.exe` на Windows, `.venv/bin/python` на Linux/macOS).
+12 -4
View File
@@ -15,12 +15,12 @@
Локальным окружением управляет [uv](https://docs.astral.sh/uv/) — он скачивает нужный Python и создаёт `.venv` на основе `pyproject.toml` / `uv.lock`. Локальным окружением управляет [uv](https://docs.astral.sh/uv/) — он скачивает нужный Python и создаёт `.venv` на основе `pyproject.toml` / `uv.lock`.
```bash ```bash
uv python install 3.11 # один раз загружаем CPython 3.11 uv sync
uv python pin 3.11 # фиксируем версию для проекта (.python-version)
uv sync # создаём .venv и ставим dev-зависимости
``` ```
Можно короче: `make dev-setup`. После изменения зависимостей запустите `uv sync` (или `make dev-sync`). `uv sync` сам подтянет версию Python из `.python-version`/`pyproject.toml`, создаст `.venv` и установит зависимости. Для тех же действий можно использовать `make dev-sync`. Цель `make dev-setup` (или вручную `uv python install` + `uv python pin`) нужна только когда вы меняете версию Python или прогреваете кэш.
> Если требуется «классическое» активированное окружение, после `uv sync` выполните `.\.venv\Scripts\Activate.ps1` в PowerShell или `source .venv/bin/activate` в Unix-терминале.
Проверки и форматирование выполняем через uv: Проверки и форматирование выполняем через uv:
@@ -30,6 +30,14 @@ make lint # black/isort в режиме проверки
make fmt # автоформатирование black + isort make fmt # автоформатирование black + isort
``` ```
### Быстрый старт с uv
```bash
uv sync
uv run pytest -q
uv run black --check airflow tests
```
> Не устанавливайте пакеты напрямую через `pip install --user ...`. Если что-то уже попало в user-site, удалите `pip uninstall <package>` и проверьте `pip list --user`. > Не устанавливайте пакеты напрямую через `pip install --user ...`. Если что-то уже попало в user-site, удалите `pip uninstall <package>` и проверьте `pip list --user`.
--- ---