🌐
Homebrew
docs.brew.sh › Language-Runtimes-and-Packages
Homebrew Documentation: Language Runtimes and Packages
Versioned formulae for supported older releases remain available according to the versioned formula policy. Run brew info python to see the current version, executable locations and optional components.
🌐
PyDevTools
pydevtools.com › home › python developer tooling handbook › reference › homebrew
Homebrew: macOS Package Manager for Python | pydevtools
September 7, 2026 - Use uv python install or pyenv for version management. Installs packages (“formulae”) and larger binary packages (“casks”) Manages package dependencies and applies updates with brew upgrade
Discussions

Is using pyenv the best python version management for Mac?
Pyenv lets you manage specific versions, brew just lets you install a minor version and you get updates for the latest patch version. I use pyenv with pyenv-virtualenv. It’s really convenient to navigate to a project folder and have my virtualenv automatically activate. More on reddit.com
🌐 r/Python
118
137
October 21, 2023
macos - How can I install multiple versions of Python on latest OS X and use them in parallel? - Stack Overflow
Brew works for me - described already in answers above. 2022-08-05T05:31:36.873Z+00:00 ... That question is not a "deep problem". One needs to understand that your package manager installs modules into system Python, and this question is about extra Python environments. More on stackoverflow.com
🌐 stackoverflow.com
Recommended way to manage several installed versions of Python (macOS)
Use uv and create venv for every project. More on reddit.com
🌐 r/Python
116
75
April 4, 2025
What are your preferred method(s) for installing multiple python versions on macOS?
🌐 r/Python
108
73
February 19, 2023
🌐
GitHub
github.com › pyenv › pyenv
GitHub - pyenv/pyenv: Simple Python version management · GitHub
To fix brew doctor's warning ""config" scripts exist outside your system or Homebrew directories" If you're going to build Homebrew formulae from source that link against Python like Tkinter or NumPy (This is only generally the case if you are a developer of such a formula, or if you have an EOL version ...
🌐
Homebrew
formulae.brew.sh › formula › pyenv
Homebrew Formulae: pyenv
brew install pyenv · Python version management · https://github.com/pyenv/pyenv · License: MIT · Development: Pull requests · Formula JSON API: /api/formula/pyenv.json · Formula code: pyenv.rb on GitHub · Bottle (binary package) installation support provided for: Current versions: Depends on: Uses from macOS: python (test), bzip2, libffi, ncurses, xz ·
Author: landoncrabtree
🌐
Sourabh Bajaj
sourabhbajaj.com › python
Python | macOS Setup Guide - Sourabh Bajaj
pyenv is a Python version manager that can manage and install different versions of Python. Works very much like rbenv for Ruby. First, we must install pyenv using Homebrew: brew install pyenv · To upgrade pyenv in the future, use upgrade instead ...
Top answer
1 of 9
116

pyenv is the thing you want. It works very very well:

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well. This project was forked from rbenv and ruby-build, and modified for Python.

https://github.com/pyenv/pyenv

Install it via Homebrew:

$ brew update
$ brew install pyenv

It handles the download, compilation, and installation of various pythons for you, e.g.:

$ pyenv install 3.7.2

It can show you which versions you've installed, and which is active:

$ pyenv versions
  system
  3.6.7
* 3.7.2

When you're in a new project directory, just tell pyenv which python version to use there:

$ pyenv local 3.6.7  # Because tensorflow isn't compat. with 3.7 :-(

You can set a 'default' version everywhere else:

$ pyenv global 3.7.2

UPDATE, AUG 2024: I've gradually switched over to asdf because I work with a lot of different languages. The asdf project also publishes new version recipes very quickly. The asdf CLI interface is a little clunkier (verbose) because it can handle all languages. But pyenv never let me down for all the years I used it. If I was only doing Python development I might still be using it.

2 of 9
75

brew alone has been sufficient for me to use multiple versions of Python. I haven't needed pyenv or conda for it.

To install various versions using brew, run commands such as:

brew install [email protected]
brew install [email protected]

When creating a virtual environment, create it using one of:

/usr/local/opt/[email protected]/bin
/usr/local/opt/[email protected]/bin

Please list the bin directory above using ls in order to find and use the python executable in it.

For macOS M1 (not Intel) (see also, M1 brew setup), modify brew install path, eg:

/opt/homebrew/Cellar/[email protected]/bin

Please list the bin directory above using ls in order to find and use the python executable in it.

Lastly, the version of /usr/local/bin/python3 is probably not the version you want for your virtual environment.

Find elsewhere
🌐
Reddit
reddit.com › r/python › recommended way to manage several installed versions of python (macos)
r/Python on Reddit: Recommended way to manage several installed versions of Python (macOS)
April 4, 2025 -

When I use VS Code and select a version of Python on macOS, I have the following versions:

  • Python 3.12.8 ('3.12.8') ~/.pyenv/versions/3.12.8/bin/python

  • Python 3.13.2 /opt/homebrew/bin/python

  • Python 3.12.8 /usr/local/bin/python3

  • Python 3.9.6 /Library/Developer/CommandLineTools/usr/bin/python3

  • Python 3.9.6 /usr/bin/python3

I believe having this many versions of Python in different locations messes me up when trying to install packages (i.e. using brew vs pip3 vs pyenv), so I'm wondering what the best way is to clean this up and make package + version management easier?

🌐
Faun
faun.pub › how-to-install-multiple-python-on-your-mac-d20713740a2d
How to install multiple Python on your Mac | by Robioki Denis | FAUN.dev() 🐾
October 2, 2024 - pyenv is a Python version manager that lets you easily install and switch between multiple Python versions. To install pyenv, run the following command in your terminal: brew install pyenv or brew install pyenv-virtualenv
🌐
Medium
medium.com › macoclock › how-to-install-and-manage-multiple-python-versions-on-macos-ca01a5e398d4
How to Install and Manage Multiple Python Versions on Mac | by David Littlefield | Mac O’Clock | Medium
March 18, 2023 - It can install multiple Python versions, specify the version that’s used system-wide, and specify the version that’s used in specific directories. It can also create and manage virtual environments using specific versions. Copy the command from below these instructions · Paste the command into Terminal · Press “Return” · brew install pyenv ·
🌐
Mac Install Guide
mac.install.guide › python › brew
Brew Install Python · Mac Install Guide
February 25, 2024 - For example, Python 3.15 may be the newest version installed by Homebrew but you need to work on an application that requires Python 3.7. You can use brew search python to see if an earlier Python version is available. Unfortunately, Homebrew only provides a few recent versions of Python. Really, it is better to install a version manager that allows installation and switching among different versions.
🌐
Marvelousmlops
marvelousmlops.io › marvelous mlops substack › the right way to install python on a mac
The right way to install Python on a Mac
November 4, 2023 - brew update brew upgrade · Pyenv is a package manager specifically for python itself. It allows you to install multiple versions of python on one machine. The pyenv-virtualenv plugin helps create virtualenvs for a specific python version. brew ...
🌐
Medium
medium.com › @ThisIsUpen › python-setup-on-macos-59b2329bd920
Python setup on macOS. Tools Used: Homebrew, Pyenv and Pipenv | by Upendar Gareri | Medium
August 3, 2023 - Pyenv is a python version manager. brew install pyenv · Install Python using pyenv · pyenv install 3.10.0 · The above command will install python 3.10.0. Setup PATH for macOS ·
🌐
Fabian Lee
fabianlee.org › 2024 › 01 › 04 › mac-multiple-python-versions-virtualenv-with-brew-and-pyenv
Mac: multiple Python versions/virtualenv with brew and pyenv | Fabian Lee : Software Engineer
January 10, 2024 - Instead of using brew to directly install Python, use brew to install pyenv. This will provide more flexibility in managing multiple Python versions from the same machine.
🌐
PyDevTools
pydevtools.com › home › python developer tooling handbook › reference › pyenv
pyenv: Python Version Manager | pydevtools
September 7, 2026 - pyenv fits workflows where Python version management should remain separate from package management. It pairs with pip, venv, or any other packaging tool without imposing opinions on how dependencies are managed.
🌐
Mac Install Guide
mac.install.guide › python › install-pyenv
Install Python with Pyenv · Mac Install Guide
April 28, 2024 - If you want to use Pyenv, you'll first need Homebrew, the Mac software package manager. After installing Homebrew, you can install Pyenv and one or more Python versions. Follow my guide to install Homebrew: You can use Homebrew to install Pyenv. $ brew install pyenv ·
🌐
Field Notes
stuartellis.name › field notes › articles › automation › using version managers for your tools
Using Version Managers for Your Tools · Field Notes
August 2, 2025 - Homebrew can install all of the popular version manager tools. For example, to install the rustup version manager for Rust and the pyenv version manager for Python, run these commands in a terminal window: brew install pyenv rustup · You can also use Homebrew to install other tools that version managers work with.
🌐
freeCodeCamp
freecodecamp.org › news › how-to-install-python-3-on-mac-and-update-the-python-version-macos-homebrew-command-guide
How to Install Python 3 on Mac and Update the Version with Pyenv – MacOS Homebrew Command Guide
March 4, 2022 - If you're familiar with NodeJS, you'll know that nvm is used for managing versions of Node in different environments. pyenv does the same thing for Python – it's a version management tool.