Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Runtime Version Managers
  3. pyenv

pyenv

What it is

pyenv is a free, MIT-licensed tool for selecting among multiple Python versions on Linux, Unix-like systems, and macOS. It can set a global per-user version, a project-specific version, or an environment-variable override. Supported distributions include CPython, PyPy, Stackless Python, Jython, and others. Multiple installed versions can remain available simultaneously, including for cross-version testing with tox. Shim executables placed on PATH intercept Python commands and route them to the chosen installation. Most Python releases supplied through pyenv are built from source, so Python build dependencies must be installed first. Installation documentation covers a shell installer, Git checkout, and Homebrew. Plugins can extend or customize the tool. pyenv does not manage virtual environments itself; its project points users to virtualenv or the pyenv-virtualenv plugin. The project says Windows is not officially supported outside Windows Subsystem for Linux and recommends pyenv-win for native Windows versions.

For and against

For

  • Supports project and global version selection
  • Handles multiple Python distributions
  • Keeps several versions available together
  • Supports plugins and shell integration
  • Free and MIT licensed

Against

  • Does not officially support native Windows
  • Builds most releases from source
  • Requires separate virtual-environment tooling
  • Python build dependencies must be installed

The verdict

pyenv provides focused Python version selection with project pinning and automatic switching. Users on unsupported Windows setups or needing built-in virtual environments need additional tools.

Who it suits

pyenv suits developers who need several Python distributions or versions for projects, per-user settings, or compatibility testing. It is intended for Linux, Unix-like systems, and macOS users.

Plans and prices

pyenv

Free

MIT-licensed open-source project · no paid plans or pricing stated

Every plan, in full

On the record

Builds
Most pyenv-provided Python releases are built from source during installation, and Python build dependencies must be installed first.github.com · read 5 Oct 2026
Distributions
It supports CPython, PyPy, Stackless Python, Jython, and other Python distributions.github.com · read 5 Oct 2026
Installation
The README documents installation on Linux/Unix and macOS, including a shell installer, Git checkout, and Homebrew.github.com · read 5 Oct 2026
License
The repository identifies pyenv as MIT licensed.github.com · read 5 Oct 2026
Multiple versions
Users can make multiple installed Python versions available at once, including for cross-version testing with tox.github.com · read 5 Oct 2026
Plugins
The project supports extending and customizing functionality with plugins.github.com · read 5 Oct 2026
Purpose
pyenv lets users switch between multiple Python versions.github.com · read 5 Oct 2026
Security
The v2.8.0 changelog lists a fix for CVE-2026-68939 involving glob character handling in .python-version.github.com · read 5 Oct 2026
Shims
It intercepts Python commands through shim executables added to PATH and routes them to the selected installation.github.com · read 5 Oct 2026
Version selection
It supports global per-user and per-project Python versions, plus overrides through an environment variable.github.com · read 5 Oct 2026
Virtual environments
pyenv does not manage virtual environments itself; the project points users to virtualenv or the pyenv-virtualenv plugin.github.com · read 5 Oct 2026
Windows support
The project says it does not officially support Windows and does not work outside Windows Subsystem for Linux; it recommends the pyenv-win fork for native Windows Python versions.github.com · read 5 Oct 2026

Alternatives to pyenv

Every alternative, ranked