Skip to content

Homebrew: macOS Package Manager for Python

Homebrew is a package manager for macOS and Linux that installs software outside the operating system’s own package manager, without requiring root access. It manages its own dependency tree, handles updates, and exposes installed binaries on PATH.

Homebrew can install Python, but using it as a Python version manager for development is not recommended. Homebrew updates can silently change Python versions, breaking project environments. Use uv python install or pyenv for version management.

Key Features

  • Installs packages (“formulae”) and larger binary packages (“casks”)
  • Manages package dependencies and applies updates with brew upgrade
  • Installs uv and pipx as system tools available on PATH
  • Provides system libraries Python packages need at compile time: OpenSSL, SQLite, libffi
  • Installs Python interpreters via brew install python, though this is not recommended for project development

Pros

  • No root access required for installation or package management
  • Simple brew install / brew uninstall interface
  • Large catalog covering developer tools, system libraries, and GUI apps

Cons

  • macOS and Linux only; no Windows support
  • Updates may silently change Python versions and break project environments
  • Python installed by Homebrew is managed for Homebrew’s own use, not per-project version control
  • Less control than Python-specific tools for managing interpreters and environments

Learn More

Last updated on