idle is python/tkinter programit can hang if you use it to run certain types of advanced python/tkinter programs this has become less of an issue in more recent versions of idle that run user code in one process and the idle gui itself in anotherbut some programs (especially those that use multithreadingmight still hang the gui even just calling the tkinter quit function in your codethe normal way to exit gui programmay be enough to cause your program' gui to hang if run in idle (destroy may be better here onlyyour code may not exhibit such problemsbut as rule of thumbit' always safe to use idle to edit gui programs but launch them using other optionssuch as icon clicks or system command lines when in doubtif your code fails in idletry it outside the gui if connection errors arisetry starting idle in single-process mode this issue appears to have gone away in recent pythonsbut may still impact readers using older versions because idle requires communication between its separate user and gui processesit can sometimes have trouble starting up on certain platforms (notablyit fails to start occasionally on some windows machinesdue to firewall software that blocks connectionsif you run into such connection errorsit' always possible to start idle with system command line that forces it to run in single-process mode without user-code subprocess and therefore avoids communication issuesits - command-line flag forces this mode on windowsfor examplestart command prompt window and run the system command line idle py - from within the directory :\python \lib\idlelib (cd there first if neededa python - idlelib idle - command works from anywhere (see appendix for -mbeware of some idle usability features idle does much to make life easier for beginnersbut some of its tricks won' apply outside the idle gui for instanceidle runs your scripts in its own interactive namespaceso variables in your code show up automatically in the idle interactive session--you don' always need to run import commands to access names at the top level of files you've already run this can be handybut it can also be confusingbecause outside the idle environment names must always be imported from files explicitly to be used when you run file of codeidle also automatically changes to that file' directory and adds it to the module import search path-- handy feature that allows you to use files and import modules there without search path settingsbut also something that won' work the same when you run files outside idle it' ok to use such featuresbut don' forget that they are idle behaviornot python behavior other ides because idle is freeportableand standard part of pythonit' nice first development tool to become familiar with if you want to use an ide at all againi recommend other ides