Ce face uv add și uv remove
uv add requests face trei lucruri: scrie "requests>=2.34.2" în lista dependencies din pyproject.toml, calculează versiunile exacte ale tuturor pachetelor și le scrie în uv.lock, apoi instalează pachetele în .venv. Cu pip, pașii aceștia se fac separat, de mână.
uv add --dev pytest pune pachetul în grupul de dezvoltare ([dependency-groups] dev), pentru unelte de care nu are nevoie programul în producție. uv remove requests scoate pachetul din pyproject.toml și din mediu, împreună cu dependențele lui pe care nu le mai folosește nimeni.
Parametri
| Parametru | Descriere |
|---|---|
pachet |
Unul sau mai multe pachete, opțional cu versiune: "pandas>=3.0", "pachet[extra]". |
--dev |
Adaugă în grupul de dezvoltare dev. |
--group nume |
Adaugă într-un grup cu alt nume, de exemplu docs. |
--optional extra |
Adaugă ca dependență opțională ([project.optional-dependencies]). |
-r requirements.txt |
Adaugă toate pachetele dintr-un requirements.txt existent. |
Ce returnează
Lista pachetelor instalate (+), eliminate (-) sau reconstruite (~).
Exemple
Exemplul 1: O dependență pentru program și una pentru teste
uv add requests
uv add --dev pytest
grep -A3 -E "^dependencies|^\[dependency-groups" pyproject.toml
Ieșire în terminal
Using CPython 3.14.7
Creating virtual environment at: .venv
Resolved 6 packages in 538ms
Built magazin @ file:///home/ana/magazin
Prepared 2 packages in 315ms
Installed 6 packages in 10ms
+ certifi==2026.10.23
+ charset-normalizer==3.5.2
+ idna==3.20
+ magazin==0.1.0 (from file:///home/ana/magazin)
+ requests==2.34.2
+ urllib3==2.8.0
Resolved 12 packages in 496ms
...
Installed 6 packages in 8ms
+ iniconfig==2.3.1
~ magazin==0.1.0 (from file:///home/ana/magazin)
+ packaging==26.3
+ pluggy==1.7.0
+ pygments==2.21.0
+ pytest==9.1.1
dependencies = [
"requests>=2.34.2",
]
[dependency-groups]
dev = [
"pytest>=9.1.1",
]
Exemplul 2: Eliminarea unei dependențe
Odată cu requests pleacă și cele patru pachete de care avea nevoie doar el.
uv remove requests
Ieșire în terminal
Resolved 7 packages in 7ms
Built magazin @ file:///home/ana/magazin
Prepared 1 package in 4ms
Uninstalled 6 packages in 10ms
Installed 1 package in 2ms
- certifi==2026.10.23
- charset-normalizer==3.5.2
- idna==3.20
~ magazin==0.1.0 (from file:///home/ana/magazin)
- requests==2.34.2
- urllib3==2.8.0
Greșeli frecvente
- Folosești
uv pip installîntr-un proiect uv. Pachetul ajunge în mediu, dar nu înpyproject.tomlșiuv.lock, iar la următoruluv syncdispare. În proiect foloseșteuv add. - Editezi
uv.lockde mână. Fișierul este generat; schimbăpyproject.tomlsau foloseșteuv add/uv remove. - Uiți să pui în Git
uv.lock. Fără el, colegii și serverul pot primi alte versiuni.
Comenzi înrudite
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.uv run: Rulează un script sau o comandă în mediul proiectului, după ce verifică că pachetele instalate se potrivesc cu uv.lock.uv init: Creează un proiect Python nou cu uv: pyproject.toml, .python-version, README și un depozit Git.pyproject.toml: Fișierul standard de configurare al unui proiect Python: nume, versiune, dependențe și setările uneltelor.pip install: Instalează pachete Python de pe PyPI, cu o versiune anume sau la ultima versiune, împreună cu dependențele lor.