Ce face uv init
uv este un manager de pachete și proiecte Python, dezvoltat de Astral, care face în același timp treaba lui pip, venv și a unui instrument de versiuni Python. Se instalează separat (de exemplu curl -LsSf https://astral.sh/uv/install.sh | sh, brew install uv sau pip install uv).
uv init magazin creează folderul magazin cu pyproject.toml, .python-version (versiunea de Python a proiectului), README.md, .gitignore și un depozit Git. În uv 0.13, proiectul implicit are codul în src/magazin/ și o comandă de terminal magazin definită în [project.scripts]. Fără nume, uv init transformă folderul curent în proiect.
Mediul virtual .venv nu se creează la init, ci la prima comandă care are nevoie de el (uv add, uv run, uv sync). Dacă versiunea de Python cerută lipsește, uv o descarcă singur.
Parametri
| Parametru | Descriere |
|---|---|
nume |
Folderul proiectului. Lipsă: folderul curent. |
--python |
Versiunea de Python, scrisă în .python-version și în requires-python. |
--app / --lib |
Proiect de aplicație (implicit) sau de bibliotecă. |
--bare |
Creează doar pyproject.toml. |
--script fișier.py |
Un script singur, cu dependențele scrise în comentariul de la începutul lui. |
--vcs none |
Fără depozit Git. |
Ce returnează
Mesajul Initialized project ... și fișierele proiectului.
Exemple
Exemplul 1: Un proiect nou și fișierele lui
uv init --python 3.14 magazin
cd magazin
ls -a
cat pyproject.toml
cat .python-version
Ieșire în terminal
Initialized project `magazin` at `/home/ana/magazin`
. .. .git .gitignore .python-version README.md pyproject.toml src
[project]
name = "magazin"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = [
{ name = "Ana Popescu", email = "ana@example.ro" }
]
requires-python = ">=3.14"
dependencies = []
[project.scripts]
magazin = "magazin:main"
[build-system]
requires = ["uv_build>=0.13.4,<0.14.0"]
build-backend = "uv_build"
3.14
Exemplul 2: Prima rulare
uv run magazin creează .venv, instalează proiectul în el și rulează funcția main() din src/magazin/__init__.py.
uv run magazin
Ieșire în terminal
Using CPython 3.14.7
Creating virtual environment at: .venv
Built magazin @ file:///home/ana/magazin
Installed 1 package in 3ms
Hello from magazin!
Greșeli frecvente
- Rulezi
uv initîntr-un folder care are dejapyproject.toml. uv refuză; pentru un proiect existent treci direct lauv addsauuv sync. - Crezi că trebuie să activezi manual mediul. Cu uv folosești
uv run, care folosește automat.venvdin proiect. - Ștergi
.python-version: uv alege atunci altă versiune de Python decât cea pe care ai testat.
Comenzi înrudite
uv add și uv remove: Adaugă sau elimină o dependență: actualizează pyproject.toml, uv.lock și mediul .venv dintr-o singură comandă.uv run: Rulează un script sau o comandă în mediul proiectului, după ce verifică că pachetele instalate se potrivesc cu uv.lock.uv sync și uv.lock: Aduce mediul .venv exact la versiunile din uv.lock: instalează ce lipsește și șterge ce nu mai e în proiect.pyproject.toml: Fișierul standard de configurare al unui proiect Python: nume, versiune, dependențe și setările uneltelor.python -m venv: Creează un mediu virtual: un folder cu propriul Python și propriile pachete, separat de restul sistemului.