uv init în Python

Creează un proiect Python nou cu uv: pyproject.toml, .python-version, README și un depozit Git.

Sintaxă
uv init nume-proiect
uv init --python 3.14 nume-proiect
uv init --script script.py

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 deja pyproject.toml. uv refuză; pentru un proiect existent treci direct la uv add sau uv sync.
  • Crezi că trebuie să activezi manual mediul. Cu uv folosești uv run, care folosește automat .venv din 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.