The Best Way to Install Python on MacOS for Developers [2024]

There are many ways to install and set up Python on your Mac. Whether you're a developer working with machine learning, maintaining legacy codebases, or juggling multiple projects, efficient version management is key. In this guide, I'll walk you through three methods to install Python on your Mac.

Recommended Method: Using pyenv

If you're serious about Python development, I recommend using pyenv. It allows you to easily switch between Python versions, which is invaluable for developers like me who work across different projects requiring different Python setups.

In my experience, especially when working with machine learning libraries like TensorFlow or PyTorch, specific Python versions are often required. Similarly, legacy codebases may rely on older versions. Over the years, I've found pyenv to be the most reliable and flexible tool for managing these situations.

Why Use pyenv?

  • Version Flexibility: Install and switch between multiple Python versions effortlessly.
  • Legacy Support: Maintain compatibility with older projects without affecting your global Python setup.
  • Project Isolation: Avoid breaking system dependencies.

Installing Python with pyenv

The easiest way to install pyenv is via Homebrew. Follow these steps:

  1. Install pyenv with Homebrew:
brew install pyenv
  1. Set Up pyenv: Add the following lines to your shell configuration file (~/.zshrc or ~/.bash_profile):
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
  1. Restart Your Terminal: Apply the changes by restarting your terminal or running:
source ~/.zshrc
  1. Install Python: Install the latest Python version or a specific version as needed:
pyenv install 3.10.5
pyenv global 3.10.5
  1. Verify Installation:
python --version

With pyenv, switching versions is as simple as running:

pyenv global <version>

Alternative Method: Installing via Homebrew

Homebrew is another popular way to install Python. It's quick and integrates well with macOS, making it ideal if you're already using Homebrew for other tools.

Why Use Homebrew?

  • Simple Installation: Straightforward for developers who don't need version management.
  • Easy Updates: Keeping Python updated is seamless with Homebrew commands.

Installing Python with Homebrew

  1. Install Python:
brew install python
  1. Verify Installation:
python3 --version

Homebrew defaults to installing the latest version of Python. If you need a specific version, you can use formulas like python@3.9, but this method can be buggy and lacks the flexibility of pyenv.

Simplest Method: Using the Official Installer

For beginners or developers who don't require version switching, the official Python installer is a straightforward option.

Why Use the Official Installer?

  • Quick Start: Ideal for users who just want Python set up without additional configuration.
  • Official Support: The installer comes directly from the Python Software Foundation.

Installing Python with the Official Installer

  1. Download the Installer: Visit python.org/downloads and download the latest version for macOS.

  2. Run the Installer: Follow the graphical interface to complete the installation.

  3. Verify Installation:

python3 --version

While easy to use, this method may overwrite your system Python, potentially causing issues with macOS utilities.

Conclusion

To summarize, there are three main ways to install Python on a Mac:

  • pyenv (Recommended): Best for developers needing version flexibility, especially for machine learning or legacy projects.
  • Homebrew: Ideal for developers looking for a quick, integrated solution without needing multiple versions.
  • Official Installer: Perfect for beginners or those looking for the simplest method.

From my experience, managing multiple Python versions is essential as projects often demand specific setups. Tools like pyenv make this process seamless.

Wei-Ming Thor

I create practical guides on Software Engineering, Data Science, and Machine Learning.

Background

Full-stack engineer who builds web and mobile apps. Now, exploring Machine Learning and Data Engineering. Read more

Writing unmaintainable code since 2010.

Skill/languages

Best: JavaScript, Python
Others: Android, iOS, C, React Native, Ruby, PHP

Work

Engineering Manager

Location

Kuala Lumpur, Malaysia

Open Source
Support

Turn coffee into coding guides. Buy me coffee