uv pip uninstall removes packages from the active Python environment. It is compatible with pip uninstall but offers faster performance.
Usage
# Uninstall a package
uv pip uninstall requests
# Uninstall multiple packages
uv pip uninstall requests flask numpy
# Uninstall from requirements file
uv pip uninstall -r requirements.txt
# Dry run
uv pip uninstall requests --dry-run
Arguments
Names of packages to uninstall.uv pip uninstall requests
uv pip uninstall requests flask numpy
Uninstall packages listed in requirements files.Supported formats:
requirements.txt
.py files with inline metadata
pylock.toml
pyproject.toml, setup.py, setup.cfg
uv pip uninstall -r requirements.txt
uv pip uninstall -r requirements.txt -r dev-requirements.txt
Python Environment
Python interpreter from which to uninstall packages.By default, uninstalls from virtual environment. Use with caution for system Python.uv pip uninstall requests --python 3.11
uv pip uninstall requests --python /path/to/python
Environment: UV_PYTHON
Uninstall from system Python instead of virtual environment.Use with caution in CI environments only. Can modify system Python installation.
uv pip uninstall requests --system
Environment: UV_SYSTEM_PYTHON
Allow uninstallation from externally-managed Python environments.Intended for CI environments. Use with caution.
Environment: UV_BREAK_SYSTEM_PACKAGES
Uninstall packages from a --target directory.uv pip uninstall requests --target ./libs
Uninstall packages from a --prefix directory.uv pip uninstall requests --prefix /opt/myapp
Behavior Options
Show what would be uninstalled without actually removing packages.uv pip uninstall requests --dry-run
Keyring provider for authentication (for remote requirements files): disabled, subprocess.Default: disabledEnvironment: UV_KEYRING_PROVIDER
Examples
Basic Uninstallation
# Uninstall single package
uv pip uninstall requests
# Uninstall multiple packages
uv pip uninstall requests flask sqlalchemy
# Uninstall with confirmation
uv pip uninstall requests --dry-run
uv pip uninstall requests
From Requirements File
# Uninstall all packages in file
uv pip uninstall -r requirements.txt
# Uninstall from multiple files
uv pip uninstall -r requirements.txt -r dev-requirements.txt
# Uninstall from pyproject.toml
uv pip uninstall -r pyproject.toml
Specific Environment
# From specific Python
uv pip uninstall requests --python 3.11
# From system Python (caution!)
uv pip uninstall requests --system
# From target directory
uv pip uninstall requests --target ./libs
Dry Run
# Preview uninstallation
uv pip uninstall requests --dry-run
# Check multiple packages
uv pip uninstall -r requirements.txt --dry-run
Use Cases
Remove Unwanted Packages
# Remove a package no longer needed
uv pip uninstall old-dependency
# Remove multiple packages
uv pip uninstall pkg1 pkg2 pkg3
Clean Development Environment
# Remove development dependencies
uv pip uninstall -r dev-requirements.txt
# Keep production dependencies
uv pip uninstall -r dev-requirements.txt --dry-run # verify first
Fix Broken Installation
# Uninstall and reinstall
uv pip uninstall problematic-package
uv pip install problematic-package
# Or combine
uv pip uninstall problematic-package && uv pip install problematic-package
Downgrade Package
# Uninstall current version
uv pip uninstall numpy
# Install older version
uv pip install "numpy==1.24.0"
Verify Before Uninstall
# Check what depends on package
uv pip show numpy | grep "Required-by:"
# Preview uninstallation
uv pip uninstall numpy --dry-run
# Uninstall if safe
uv pip uninstall numpy
Differences from pip uninstall
uv pip uninstall is largely compatible with pip uninstall:
# pip command
pip uninstall requests
# Equivalent uv command
uv pip uninstall requests
Key Differences
- Performance: uv is faster
- Confirmation: uv does not prompt for confirmation (use
--dry-run first)
- Default behavior: uv requires virtual environment by default
- Dependency handling: Both only remove specified packages, not their dependencies
No Confirmation Prompt
Unlike pip, uv does not ask for confirmation:
# pip asks "Proceed (Y/n)?"
pip uninstall requests
# uv uninstalls immediately
uv pip uninstall requests
# Use --dry-run to preview
uv pip uninstall requests --dry-run
Migration from pip
# Replace in scripts
pip uninstall -y requests # -y to skip confirmation
# becomes
uv pip uninstall requests # no confirmation needed
Handling Dependencies
uv pip uninstall only removes specified packages, not their dependencies:
# Install requests (and its dependencies)
uv pip install requests
# Installs: requests, certifi, charset-normalizer, idna, urllib3
# Uninstall requests
uv pip uninstall requests
# Removes: requests only
# Leaves: certifi, charset-normalizer, idna, urllib3
Remove Package and Dependencies
To remove orphaned dependencies:
# Option 1: Use pip sync with updated requirements
uv pip compile updated-requirements.in -o requirements.txt
uv pip sync requirements.txt # removes extraneous packages
# Option 2: Manually remove unused packages
uv pip list
uv pip uninstall unused-dep1 unused-dep2
# Option 3: Fresh environment
rm -rf .venv
uv venv
uv pip install -r requirements.txt
What Gets Uninstalled
Regular Packages
# Uninstalls package files and metadata
uv pip uninstall requests
# Removes:
# - /path/to/site-packages/requests/
# - /path/to/site-packages/requests-2.31.0.dist-info/
Editable Packages
# Uninstalls editable package reference
uv pip uninstall mypackage
# Removes:
# - Link/egg-info from site-packages
# Source code remains in original location
Scripts and Entry Points
# Uninstalls console scripts
uv pip uninstall black
# Removes:
# - /path/to/bin/black
# - /path/to/bin/blackd
Exit Codes
# Exit code 0: Success
uv pip uninstall requests
echo $? # 0
# Exit code 1: Package not found
uv pip uninstall nonexistent-package
echo $? # 1
# Use in scripts
if uv pip uninstall old-package 2>/dev/null; then
echo "Successfully uninstalled"
else
echo "Package not found or error"
fi
Safety Considerations
Check Dependencies First
# Check what depends on package
uv pip show numpy | grep "Required-by:"
# If other packages depend on it, they may break
uv pip check # after uninstall
Use Dry Run
# Always preview major uninstalls
uv pip uninstall -r requirements.txt --dry-run
# Verify output, then proceed
uv pip uninstall -r requirements.txt
Avoid System Python
# DON'T: Uninstall from system Python
uv pip uninstall requests --system # dangerous!
# DO: Use virtual environments
uv venv
source .venv/bin/activate
uv pip uninstall requests # safe