Alternatives to pyenv
Builds and switches between multiple Python versions. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
pyenv
Builds and switches between multiple Python versions.
Replacements
Listings that take over the same core job as pyenv.
uv
A single Rust tool that replaces pip, pipx, poetry, pyenv, virtualenv and twine, and installs packages 10 to 100 times faster.
uv installs and manages Python versions itself and also replaces pip, pipx, poetry and virtualenv, running on Windows too without compiling Python from source.
asdf
One version manager for many language runtimes.
asdf manages Python alongside many other runtimes through plugins and one .tool-versions file, while keeping a similar shim approach that can confuse tooling.
mise
Keep project tools, environment variables and tasks in one configuration.
mise handles Python and other tool versions together with environment variables and project tasks in one configuration, and it supports Windows as well as macOS and Linux.
Similar software
Related functionality, not a direct replacement.
pipx
Installs Python command line applications in isolated environments.
Python
A general-purpose programming language used for scripting, web backends, data analysis and machine learning.
nvm
Installs and switches between multiple Node.js versions per shell.
Fast Node Manager
Install and switch Node.js versions for different projects.
SDKMAN!
Manages parallel versions of JVM SDKs and build tools.
Poetry
A command-line tool for managing Python project dependencies, building packages and publishing them to PyPI.