danuke

Q: How Do I get IDLE to use Tk 8.6?

I just downloaded and installed Python 3.5.  So far I have experienced any issues using it from terminal. However, the install created a folder in Applications folder, and it contains among other things:

IDLE.app

Python Launcher.app

 

I have been using BBEdit and terminal to learn python, but I want to use IDLE, mostly to the small window size, when working through the python tutorial online.

I saw various warnings regarding issues with the default, already installed Tk 8.5, and followed the link to download and install Tk 8.6.

Both before and after I installed Tk 8.6, I get this warning when I open IDLE:

>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.

Visit http://www.python.org/download/mac/tcltk/ for current information.

 

I puzzled over this for a bit, googled around only to find that others had experienced the same concern, however, no answers had been provided. I finally looked at the About IDLE dropdown and the little graphics window, to me, to show that IDLE is still using Tk 8.5 rather than 8.6.   So how do I get the IDLE application to shift over to Tk 8.6?

 

About IDLE.png

iMac, OS X El Capitan (10.11), null

Posted on Jun 4, 2016 7:41 AM

Close

Q: How Do I get IDLE to use Tk 8.6?

  • All replies
  • Helpful answers

  • by etresoft,

    etresoft etresoft Jun 4, 2016 9:11 AM in response to danuke
    Level 7 (29,173 points)
    Mac OS X
    Jun 4, 2016 9:11 AM in response to danuke

    Hello danuke,

    It seems that with every post, you open a bigger and bigger can-o-worms.

     

    All of these software packages are designed for a Linux world. The user just runs "yum ...something..." or "apt-get ...something else..." to install software or update a system-provided version. Sometimes it works, and sometimes the user has to go back and install a newer, or older, version of Ubuntu/Centos etc. to get it all working.

     

    There is a more "old school" way - you can install the software from source. In a really old-school way, people used to actually install test builds of newer versions, but in custom locations, just to test. Few people do that anymore. Few people even know how to build anymore.

     

    But if you are going to use this software on a Mac, you have to adopt one of these strategies. You could go the package manager route with MacPorts, Fink, or now Homebrew and just type "brew ...something...". OS X won't let you replace system versions, so that option is off the table. That's fine though because that would surely break stuff. But you can still install from source and select exactly what versions of software you want to build with. Don't get me wrong - it's not easy. It is very difficult in fact. Each project has a different build system. Each one is designed for Linux, with Mac users being an afterthought at best, but usually a nonthought. Ultimately it is not so much building software as creatively hacking it. I have been doing that at work. It has taken me about two weeks to get the entire GDAL system built, with postreSQL, a custom Python, etc. Ideally, you should do this for any open source software you build on the Mac. Never use Apple's system provided software for anything unless you have no option. Apple DOES NOT test this stuff. Apple has crowd sourced all testing and considers it to be your job, not theirs. Apple will pluck code from an untested, development branch of any open source package and release it to 800 million customers in less than 3 weeks. I know this because I've seen them do it. It broke one of my apps.

     

    But there is no easy solution. Each project is different. You will have to research each project and how to control where it builds from. I can help if it is something I've built lately. But I have no intention of bothering with a bleeding-edge Python3 or reliving the '80s with Tcl/Tk. I would never say this in polite company, because Python is just crushingly hip, but it *****. It is a joke compared to Perl. But I'm a pragmatic fellow so I know Perl won't get anyone, including me, a decent job. So I'll use junk Python instead because it pays the bills. That's how software works today.

  • by danuke,

    danuke danuke Jun 4, 2016 9:55 AM in response to etresoft
    Level 3 (789 points)
    Mac OS X
    Jun 4, 2016 9:55 AM in response to etresoft

    Can-O-Wurms eh?  Well, that's how we kept life interesting while out on a patrol

  • by danuke,

    danuke danuke Jun 4, 2016 10:04 AM in response to etresoft
    Level 3 (789 points)
    Mac OS X
    Jun 4, 2016 10:04 AM in response to etresoft

    Now the only thing that I am doing is learning Python mostly to understand the workings of SageMath while I play with it.  All the stuff that I have gotten comes with as a .dmg installer; however; the one thing that I missed was that given all the Apple / Python issues, I needed to dl and install Tk 8.5.18 vice Tk 6.

    And in keeping with Can-O-Wurms, the kind folks at Python say that will all change with Python 3.6.

    Oh, and by the way, I do have two Pearl books that are next inline on my book case.

    So anyway, once I installed the other 8.5, IDLE opens with no warnings and is "using" Tk 8.5.18.  I am hoping that all is well with the world for now.

  • by danuke,

    danuke danuke Jun 4, 2016 10:11 AM in response to etresoft
    Level 3 (789 points)
    Mac OS X
    Jun 4, 2016 10:11 AM in response to etresoft

    Heh, regarding Linux, my son found a dell laptop that someone had thrown into the trash. They did not even bother to wipe the HD, so the out-of-date, unsupported version of Windoze was still on and running along with owner information (was very uncomfortable with that). The first thing that I did was to get rid of Windows and install Ubuntu. I remember that apt-get something to which you refer.

    I just needed to install a new keyboard, battery and charging connector and it was up and running.   It was an interesting project.

  • by Nephilim 2038,

    Nephilim 2038 Nephilim 2038 Sep 11, 2016 1:34 PM in response to danuke
    Level 1 (4 points)
    Sep 11, 2016 1:34 PM in response to danuke

    I finally got it to work, but not by using ActiveTcl 8.6.*

     

    Go get their prior version, 8.518.

    f7f107ec6a637df8fba3581e5a071369.png

     

    I downloaded that and installed it, after repeated attempts at getting 8.6 to work, and, presto, the warning message went away. If you have another reason for needing 8.6, obviously this won't work for you, but I am happy for now with the error message going away.  I don't know why the 8.6 installer doesn't fix it.

  • by VikingOSX,

    VikingOSX VikingOSX Sep 12, 2016 5:54 AM in response to Nephilim 2038
    Level 7 (20,819 points)
    Mac OS X
    Sep 12, 2016 5:54 AM in response to Nephilim 2038

    I installed the ActiveState 8.6.4 Tcl/Tk frameworks. When I installed Python 3.5.2 in a non-System location, it is compiled with flags that tell it to look for the ActiveState frameworks, instead of the ancient Apple frameworks. This means that the idle3 command is built with awareness of 8.6.4 frameworks too.

     

    If you run the homebrew command, brew info python, you will see an option (--with-tcl-tk) that allows it to sniff out those latest ActiveState Tcl/Tk frameworks.

     

    Because I have Python 2.7.10, 2.7.12, and 3.5.2 installed, I created a Bash script that obtains the Python version, and a case statement to launch the proper idle/idle3 command with the latest Tcl/Tk awareness.

  • by BigfootMac,

    BigfootMac BigfootMac Sep 16, 2016 8:39 PM in response to Nephilim 2038
    Level 1 (4 points)
    Wireless
    Sep 16, 2016 8:39 PM in response to Nephilim 2038

    Thank you Nephilim!  Your method worked well for me. Like many others, I was getting the warning message when launching Python 3.6.0 on Idle.  The 8.6.4.1 version of Tcl that I had installed was not being recognized.  Just installed Tcl version 8.5.18.0 and no more warning message.