IDLE warns against an old TCL version even though I've installed a newer version
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.
I have OS X 10.10.5.
- I installed Python 3.4.3.
- Ran IDLE, got warning, "The version of Tcl/Tk (8.5.9) in use may be unstable."
- Went to [Active State][1] and downloaded the suggested, "Download ActiveTcl 8.6.4 for Mac OS X (10.5+, x86_64/x86)".
- Ran installer for "ActiveTcl8.6.4.1.299124-macosx10.5-i386-x86_64-threaded.dmg"
- Re-installed: python-3.4.3-macosx10.6.pkg
- Ran IDLE - still same message, "The version of Tcl/Tk (8.5.9) in use may be unstable.".
- Checked - Yes, 8.6.4 is there.
- Went back to Active State and got prior version: "ActiveTcl8.5.18.0.298892-macosx10.5-i386-x86_64-threaded.dmg"
- Re-installed: python-3.4.3-macosx10.6.pkg
- Ran IDLE - No warning.
This worked for me
WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
brew remove python3
brew install homebrew/dupes/tcl-tk
brew install python3 --with-tcl-tk
brew linkapps python3