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.
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
- https://github.com/pyenv/pyenv
- GitHub: pyenv/pyenv
- Brew formula source: Formula/p/pyenv.rb
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[](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."
}