python@3.9 (deprecated)

Disable date: 2026-10-15

Install command:
brew install python@3.9

Interpreted, interactive, object-oriented programming language

https://www.python.org/

License: Python-2.0

Development: Pull requests

Formula JSON API: /api/formula/python@3.9.json

Formula code: python@3.9.rb on GitHub

Bottle (binary package) installation support provided for:

macOS on
Apple Silicon
golden gate
tahoe
sequoia
sonoma
macOS on
Intel
sonoma
Linux ARM64
x86_64

Current versions:

stable 3.9.25

Other versions:

python@3.14 3.14.7 Interpreted, interactive, object-oriented programming language
python@3.13 3.13.15 Interpreted, interactive, object-oriented programming language
python@3.12 3.12.14 Interpreted, interactive, object-oriented programming language
python@3.11 3.11.16 Interpreted, interactive, object-oriented programming language
python@3.10 3.10.21 Interpreted, interactive, object-oriented programming language

Depends on:

gdbm 1.26 GNU database manager
mpdecimal 4.0.1 Library for decimal floating point arithmetic
openssl@3 3.6.4 Cryptography and SSL/TLS Toolkit
readline 8.3.3 Library for command-line editing
sqlite 3.53.4 Command-line interface for SQLite
xz 5.8.4 General-purpose data compression with high compression ratio

Depends on when building from source:

pkgconf 3.0.7 Package compiler and linker metadata toolkit

Uses from macOS: bzip2, expat, libffi, libxcrypt, ncurses, unzip

Binaries: 2to3-3.9, idle3.9, pydoc3.9, python3.9, python3.9-config

Python is installed as
    $HOMEBREW_PREFIX/bin/python3.9

Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to
`python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into
    $HOMEBREW_PREFIX/opt/python@3.9/libexec/bin

You can install Python packages with
    pip3.9 install <package>
They will install into the site-package directory
    $HOMEBREW_PREFIX/lib/python3.9/site-packages

`idle3.9` requires tkinter, which is available separately:
    brew install python-tk@3.9

If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH:
    brew install python3

See: https://docs.brew.sh/Homebrew-and-Python

Known vulnerabilities in the current version:

PYSEC-2026-3721 pip would incorrectly handle doubly-encoded package URLs from indexes
GHSA-6vgw-5pg2-w6jp pip Path Traversal vulnerability
GHSA-8rrh-rw8j-w5fx (high) Wheel Affected by Arbitrary File Permission Modification via Path Traversal in wheel unpack
GHSA-58qw-9mgm-455v pip has an interpretation conflict due to handling both concatenated tar and ZIP files as ZIP files
GHSA-h35f-9h28-mq5c (medium) setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) o...
GHSA-jp4c-xjxw-mgf9 pip Vulnerable to Inclusion of Functionality from Untrusted Control Sphere
GHSA-wf93-45jw-7689 (high) pip: Path traversal in console_scripts/gui_scripts entry point names allows installing scripts o...

Data from Homebrew/advisory-database. Run brew vulns python@3.9 for a live check.

Analytics:

30 days90 days365 days
Installs3,69911,933159,146
Installs (--HEAD)216170
Installs on Request3,50311,248151,840
Installs on Request (--HEAD)216170
Build Errors4