Inspired by:
Note: The tool previously named
uvx
is nowuvenv
due to a naming collision with a newuv
command. The new name better reflects its purpose, combininguv
withvenv
.
You can runuvenv self migrate
to move your environments and installed commands fromuvx
touvenv
.
-
Install via pip (or alternatives):
pip install uvenv # or `uv install uvenv`, `pipx install uvenv`
-
Optional (for bash users):
uvenv setup
This installs the following features:
- Ensures
~/.local/bin/
is added to your PATH, so commands can be found (unless--skip-ensurepath
). Can also be activated viauvenv ensurepath
- Enables tab completion for
uvenv
(unless--skip-completions
). Can also be enabled viauvenv completions --install
. - Enables
uvenv activate
(unless--skip-activate
) to activate uvenv-managed virtualenvs from your shell
uvenv
Run uvenv
without any arguments to see all possible subcommands.
- Rust-Powered Performance (uvenv 2.0): Starting from version 2.0,
uvenv
leverages Rust for improved performance and compatibility withuv
. - Prebuilt Binaries: Currently, prebuilt binaries are available for x86_64 (amd64) and aarch64 (ARM64) on Linux.
- Other Platforms: If you're on a different platform, you can still use
uvx 1.x
, which is written in pure Python. Find it at robinvandernoord/uvx. - Alternatively, you can Compile for Your Platform:
- Install the Rust toolchain:
curl https://sh.rustup.rs -sSf | sh
- Clone the
uvenv
repo and navigate to it:git clone https://github.com/robinvandernoord/uvenv.git cd uvenv
- Set up a virtual environment (choose Python or uv):
python -m venv venv # or `uv venv venv --seed` source venv/bin/activate
- Install Maturin (Python with Rust package builder):
pip install maturin # or `uv pip install maturin`
- Compile and install the
uvenv
binary:maturin develop
- Now you can use
uvenv
:./venv/bin/uvenv
- Install the Rust toolchain:
For additional details on building and distribution, refer to maturin documentation.
uvenv
is distributed under the terms of the MIT license.
See CHANGELOG.md
on GitHub