Managing packages
Installing a package
To install a package into the virtual environment, e.g., Flask:
To install a package with optional dependencies enabled, e.g., Flask with the "dotenv" extra:
To install multiple packages, e.g., Flask and Ruff:
To install a package with a constraint, e.g., Ruff v0.2.0 or newer:
To install a package at a specific version, e.g., Ruff v0.3.0:
To install a package from the disk:
To install a package from GitHub:
To install a package from GitHub at a specific reference:
$ # Install a tag
$ uv pip install "git+https://github.com/astral-sh/[email protected]"
$ # Install a commit
$ uv pip install "git+https://github.com/astral-sh/ruff@1fadefa67b26508cc59cf38e6130bde2243c929d"
$ # Install a branch
$ uv pip install "git+https://github.com/astral-sh/ruff@main"
See the Git authentication documentation for installation from a private repository.
Editable packages
Editable packages do not need to be reinstalled for change to their source code to be active.
To install the current project as an editable package
To install a project in another directory as an editable package:
Installing packages from files
Multiple packages can be installed at once from standard file formats.
Install from a requirements.txt
file:
See the uv pip compile
documentation for more information on requirements.txt
files.
Install from a pyproject.toml
file:
Install from a pyproject.toml
file with optional dependencies enabled, e.g., the "foo" extra:
Install from a pyproject.toml
file with all optional dependencies enabled:
Uninstalling a package
To uninstall a package, e.g., Flask:
To uninstall multiple packages, e.g., Flask and Ruff: