Tkinter is Python’s de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk according to https://wiki.python.org/moin/TkInter
Setting up on mac
Well i should say that setting up it on mac is such a pain. May be i din’t understand it completely.
After googling, i started with
brew upgrade tcl-tk
The following information appeared during installation suggests that, I should set these variables to successfully run the tkinter program
tcl-tk is keg-only, which means it was not symlinked into /usr/local, because macOS already provides this software and installing another version in parallel can cause all kinds of trouble. If you need to have tcl-tk first in your PATH, run: echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> /Users/vish/.bash_profile For compilers to find tcl-tk you may need to set: export LDFLAGS="-L/usr/local/opt/tcl-tk/lib" export CPPFLAGS="-I/usr/local/opt/tcl-tk/include" For pkg-config to find tcl-tk you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
After setting the above variables, then install python version using pyenv. There are various ways of making it work. But the following worked for me.
# It is important to mention the Tcl/tk version as 8.6 before installing. PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'" pyenv install 3.8.3
Reference : https://github.com/pyenv/pyenv/pull/1397