Skip to main content
uv pip install installs packages into the active Python environment. It is compatible with pip install but offers significantly faster performance.

Usage

Arguments

Package Sources

string[]
Packages to install. Can be package names, URLs, file paths, or version specifications.
path[]
Install packages from requirements files.Supports:
  • requirements.txt
  • .py files with inline metadata
  • pylock.toml
  • pyproject.toml, setup.py, setup.cfg
Use - to read from stdin.
string[]
Install a package in editable mode from a local path.

Constraints and Overrides

path[]
Constrain package versions without requiring installation.
Environment: UV_CONSTRAINT
path[]
Override package versions, ignoring dependencies.
Environment: UV_OVERRIDE
path[]
Exclude packages from resolution.
Environment: UV_EXCLUDE
path[]
Constrain build dependencies when building from source.
Environment: UV_BUILD_CONSTRAINT

Optional Dependencies

string[]
Include optional dependencies (extras).
Include all optional dependencies.
string[]
Install dependency groups from pylock.toml or pyproject.toml.

Python Environment

string
Python interpreter to use for installation.
Environment: UV_PYTHON
Install into system Python instead of a virtual environment.
Use with caution in CI environments only. Can modify system Python installation.
Environment: UV_SYSTEM_PYTHON
Allow installation into externally-managed Python environments.
Intended for CI environments. Use with caution.
Environment: UV_BREAK_SYSTEM_PACKAGES
path
Install packages into the specified directory.
path
Install packages into lib, bin folders under the specified directory.

Resolver Options

Upgrade all packages to the latest compatible versions.
requirement[]
Upgrade specific packages while keeping others pinned.
string
Resolution strategy: highest, lowest, or lowest-direct.Default: highest
Environment: UV_RESOLUTION
string
Pre-release handling: disallow, allow, if-necessary, explicit, or if-necessary-or-explicit.Default: if-necessary-or-explicit
Environment: UV_PRERELEASE
string
Version selection strategy: requires-python or fewest.Default: requires-pythonEnvironment: UV_FORK_STRATEGY
Don’t install package dependencies.

Build Options

Don’t build source distributions. Only use pre-built wheels.Alias for --only-binary :all:
package[]
Build specific packages from source instead of using wheels.
package[]
Only use pre-built wheels for specific packages.
key=value[]
Pass settings to the PEP 517 build backend.
package:key=value[]
Pass package-specific settings to build backends.
Disable build isolation. Assumes build dependencies are already installed.
Environment: UV_NO_BUILD_ISOLATION
package[]
Disable build isolation for specific packages.

Index Options

url[]
Package indexes to use (in addition to default).
Environment: UV_INDEX
url
Default package index (replaces PyPI).
Environment: UV_DEFAULT_INDEX
url
Deprecated: Use --default-index instead.Environment: UV_INDEX_URL
url[]
Deprecated: Use --index instead.Environment: UV_EXTRA_INDEX_URL
Additional locations to search for packages.
Environment: UV_FIND_LINKS
Ignore package indexes, only use --find-links.
string
Index selection strategy: first-index, unsafe-first-match, or unsafe-best-match.Default: first-indexEnvironment: UV_INDEX_STRATEGY
string
Keyring provider for authentication: disabled, subprocess.Default: disabledEnvironment: UV_KEYRING_PROVIDER

Hash Verification

Require hash verification for all packages.
Environment: UV_REQUIRE_HASHES
Disable hash verification.Environment: UV_NO_VERIFY_HASHES

Version Constraints

version
Minimum Python version to support (e.g., 3.8 or 3.8.17).
triple
Target platform triple (e.g., x86_64-unknown-linux-gnu).
Advanced use case. May install incompatible packages.

Installation Behavior

Reinstall all packages, ignoring existing installations.
package[]
Reinstall specific packages.
Remove extraneous packages not in requirements.
Validate environment after installation.
Show installation plan without installing.
date
Exclude packages uploaded after the specified date.
Environment: UV_EXCLUDE_NEWER
package=date[]
Exclude specific packages uploaded after dates.
Link mode for installations: clone, copy, hardlink, symlink.Default: clone on macOS/Linux, hardlink on WindowsEnvironment: UV_LINK_MODE
Compile Python files to bytecode after installation.
Environment: UV_COMPILE_BYTECODE

uv Extensions

string
PyTorch backend: cpu, cu126, cu124, cu121, cu118, or auto.
Preview feature. May change in future releases.
Environment: UV_TORCH_BACKEND
Ignore tool.uv.sources in pyproject.toml.Environment: UV_NO_SOURCES
package[]
Ignore sources for specific packages.Environment: UV_NO_SOURCES_PACKAGE

Cache Options

Refresh all cached data.
package[]
Refresh cached data for specific packages.

Examples

Basic Installation

From Requirements Files

Editable Installations

With Extras

Upgrade Packages

Custom Index

Local Wheels

Build from Source

Cross-Platform

Hash Verification

Dry Run

pip Compatibility

uv pip install is designed to be compatible with pip install. Most pip commands work with uv:

Differences from pip

  1. Performance: uv is significantly faster due to Rust implementation and parallel downloads
  2. Default behavior: uv requires a virtual environment by default (use --system to override)
  3. Resolution: uv uses a modern dependency resolver by default
  4. Caching: uv has a more sophisticated caching strategy
  5. Index URLs: Deprecated --index-url in favor of --default-index

Unsupported pip Options

Most pip options are supported. Notable exceptions include:
  • --user: Use virtual environments or --system instead
  • Some legacy pip behaviors