🍺 BREW Explorer

← all formulae

pyenv

brew install pyenv v2.7.2 MIT

Shell-based Python version manager that installs and switches between multiple Python versions per-user or per-project.

Why you might care

Lets you maintain multiple Python interpreters without touching your system Python, using simple shims in your PATH. Unlike pythonbrew/pythonz, it's pure shell (no bootstrap dependency), and integrates cleanly with per-directory .python-version files for project isolation. Essential for testing across Python versions or managing dependencies that require specific releases.

Categories

Alternatives

rbenv asdf conda venv
61.8k
30-day installs · #97
183.0k
90-day · #113
914.6k
365-day · #63
44.9k
★ GitHub stars · updated 2d ago

Runtime dependencies

GitHub topics

python shell

Links

Blurb generated by claude-haiku-4-5 on today.

Raw metadata
{
  "aliases": [],
  "alternatives": [
    "rbenv",
    "asdf",
    "conda",
    "venv"
  ],
  "build_dependencies": [],
  "categories": [
    "version-control",
    "language-runtime",
    "shell"
  ],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "autoconf",
    "openssl@3",
    "pkgconf",
    "readline"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Python version management",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:40:39+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "pyenv",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-19T05:36:58Z",
  "github_readme_excerpt": "# Simple Python Version Management: pyenv\n\n[![Join the chat at https://gitter.im/yyuu/pyenv](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yyuu/pyenv?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\npyenv lets you easily switch between multiple versions of Python. It\u0027s\nsimple, unobtrusive, and follows the UNIX tradition of single-purpose\ntools that do one thing well.\n\nThis project was forked from [rbenv](https://github.com/rbenv/rbenv) and\n[ruby-build](https://github.com/rbenv/ruby-build), and modified for Python.\n\n### What pyenv _does..._\n\n* Lets you **change the global Python version** on a per-user basis.\n* Provides support for **per-project Python versions**.\n* Allows you to **override the Python version** with an environment\n  variable.\n* Searches for commands from **multiple versions of Python at a time**.\n  This may be helpful to test across Python versions with [tox](https://pypi.python.org/pypi/tox).\n\n\n### In contrast with pythonbrew and pythonz, pyenv _does not..._\n\n* **Depend on Python itself.** pyenv was made from pure shell scripts.\n    There is no bootstrap problem of Python.\n* **Need to be loaded into your shell.** Instead, pyenv\u0027s shim\n    approach works by adding a directory to your `PATH`.\n* **Manage virtualenv.** Of course, you can create [virtualenv](https://pypi.python.org/pypi/virtualenv)\n    yourself, or [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)\n    to automate the process.\n\n\n----\n\n\n## Table of Contents\n\n* **[Installation](#installation)**\n  * [Getting Pyenv](#a-getting-pyenv)\n    * [Linux/UNIX](#linuxunix)\n      * [Automatic Installer](#1-automatic-installer-recommended)\n      * [Basic GitHub Checkout](#2-basic-github-checkout)\n    * [MacOS](#macos)\n      * [Homebrew in macOS](#homebrew-in-macos)\n    * [Windows](#windows)\n  * [Set up your shell environment for Pyenv](#b-set-up-your-shell-environment-for-pyenv)\n  * [Restart your shell](#c-restart-your-shell)\n  * [Install Python buil",
  "github_repo": "pyenv/pyenv",
  "github_stars": 44906,
  "github_topics": [
    "python",
    "shell"
  ],
  "homepage": "https://github.com/pyenv/pyenv",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 61789,
  "installs_365d": 914551,
  "installs_90d": 182976,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": "2026-06-20T23:42:41+00:00",
  "llm_model": "claude-haiku-4-5",
  "name": "pyenv",
  "oldnames": [],
  "one_liner": "Shell-based Python version manager that installs and switches between multiple Python versions per-user or per-project.",
  "optional_dependencies": [],
  "rank_30d": 97,
  "rank_365d": 63,
  "rank_90d": 113,
  "raw_hash": "9a2643d361b0760f",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/p/pyenv.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [
    {
      "python": "test"
    },
    "bzip2",
    "libffi",
    "ncurses",
    "xz"
  ],
  "version_head": "HEAD",
  "version_stable": "2.7.2",
  "versioned_formulae": [],
  "why_use_this": "Lets you maintain multiple Python interpreters without touching your system Python, using simple shims in your PATH. Unlike pythonbrew/pythonz, it\u0027s pure shell (no bootstrap dependency), and integrates cleanly with per-directory .python-version files for project isolation. Essential for testing across Python versions or managing dependencies that require specific releases."
}