It has been already mentioned but the most popular way to do it is: $ brew install python-tk For recent Python installers for macOS downloadable from this website, here is a summary of current recommendations followed by more detailed information. For best results, it is important that the proper release of Tcl/Tk is installed on your machine. Python's integrated development environment, IDLE, and the tkinter GUI toolkit it uses, depend on the Tk GUI toolkit which is not part of Python itself. Instead, install and use a newer version of Python from or a third-party distributor that supplies or links with a newer version of Tcl/Tk. If you wish to use IDLE or Tkinter, do not use the Apple-supplied Pythons. If you are using macOS 10.6 or later, the Apple-supplied Tcl/Tk 8.5 has serious bugs that can cause application crashes. A built-in version of Tcl/Tk 8.6 will be used. If you are using a Python from any current Python installer for macOS (3.10.0+ or 3.9.0+), no further action is needed to use IDLE or tkinter. They should be fixed in an upcoming Tk 8.6.12 release.
The most recent versions of installers (for 3.10.0 and 3.9.8) have patched versions of Tk to avoid these problems. If you are using macOS 12 Monterey or later, you may see problems with file open and save dialogs when using IDLE or other tkinter-based applications. There's official reasons for this described in the appropriate document:
While it's either already installed in many Linux distributions and/or bundled with Python bundles downloaded from for Windows and Linux - and a a consequence of that is generally wrongly assumed that it's part of Python - it's not the case for macOS. It doesn't work in any OS whatsoever that doesn't have the TCL Toolkit already installed.