# 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`.

{{< callout type="warning" >}}
Homebrew can install Python, but [using it as a Python version manager for development is not recommended](https://pydevtools.com/handbook/explanation/should-i-use-homebrew-to-install-python.md). Homebrew updates can silently change Python versions, breaking project environments. Use [`uv python install`](https://pydevtools.com/handbook/how-to/how-to-install-python-with-uv.md) or [pyenv](https://pydevtools.com/handbook/reference/pyenv.md) for version management.
{{< /callout >}}

## Key Features

- Installs packages ("formulae") and larger binary packages ("casks")
- Manages package dependencies and applies updates with `brew upgrade`
- Installs [uv](https://pydevtools.com/handbook/reference/uv.md) and [pipx](https://pydevtools.com/handbook/reference/pipx.md) as system tools available on `PATH`
- Provides system libraries Python packages need at compile time: OpenSSL, SQLite, libffi
- Installs [Python interpreters](https://pydevtools.com/handbook/explanation/what-is-a-python-interpreter.md) 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

- [Should I use Homebrew to install Python?](https://pydevtools.com/handbook/explanation/should-i-use-homebrew-to-install-python.md)
- [Why should I avoid system Python?](https://pydevtools.com/handbook/explanation/why-should-i-avoid-system-python.md)
- [How to install uv on macOS](https://pydevtools.com/handbook/how-to/how-to-install-uv-on-macos.md)
- [Homebrew documentation](https://docs.brew.sh)
- [Homebrew and Python](https://docs.brew.sh/Homebrew-and-Python)
