$ echo $PATH /Library/Frameworks/Python.framework/Versions/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin $ which tclsh /usr/bin/tclsh $ ls -l /usr/bin/tclsh* lrwxr-xr-x 1 root wheel 17 Jan 15 10:45 /usr/bin/tclsh -> /usr/bin/tclsh8.6 lrwxr-xr-x 1 root wheel 67 Oct 25 19:59 /usr/bin/tclsh8.4 -> ../../System/Library/Frameworks/Tcl.framework/Versions/8.4/tclsh8.4 lrwxr-xr-x 1 root wheel 67 Oct 25 19:59 /usr/bin/tclsh8.5 -> ../../System/Library/Frameworks/Tcl.framework/Versions/8.5/tclsh8.5 lrwxr-xr-x 1 root wheel 23 Jan 15 10:45 /usr/bin/tclsh8.6 -> /usr/local/bin/tclsh8.6 $ ls -l /usr/local/bin/tclsh* lrwxr-xr-x 1 root admin 8 Jan 15 10:40 /usr/local/bin/tclsh -> tclsh8.6 -rwxr-xr-x 1 root admin 41716 Oct 27 04:45 /usr/local/bin/tclsh8.6
According to the "How Python Chooses Which Tk Library To Use" section of the "IDLE and tinter with Tcl/Tk on Mac OS X" page on the official python website,
The Python for Mac OS X installers downloaded from this website dynamically link at runtime to Tcl/Tk Mac OS X frameworks. The Tcl/Tk major version is determined when the installer is created and cannot be overridden. The Python 64-bit/32-bit Mac OS X installers for Python 3.4.x, 3.3.x, 3.2.x, and 2.7.x dynamically link to Tcl/Tk 8.5 frameworks.
So it seems that
The current python installations for OS X do not recognize the latest ActiveTcl version (namely 8.6).
The Tcl/Tk version used by python is hard-wired during the python installation procedure and cannot be changed later.
From these observation the solution is clear:
Install the latest 8.5 ActiveTcl version.
Reinstall python.
I have followed these steps and now everything seems to work.