Обновления документации по uv
This commit is contained in:
@@ -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).
|
||||||
|
|||||||
@@ -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`.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user