IDLE: Help => IDLE Doc/Help fails or crashes 3.11.7 & 3.12.1 <SOLVED>


Just installed Python and IDLE on a (silicon) Mac (Sonoma 14.2.1) for my grand-children. Would appreciate if you could clarify the following

  1. By default IDLE saves and reads .py files from /Users/user_directory/Documents. I would like that default to be /Users/user_directory/Documents/subfolder. Is there a means to do that ? (Have tried to modify sys.path but did not work). The reason I would like to use a subfolder is that the Documents folder contains lots of other files not related to Python

  2. Menu Bar > Help > IDLE Help causes IDLE to quit instead of opening a browser and redirecting to some site. Not critical (there are other ways of getting help) but annoying

Thanks in advance


  1. There is currently no way to change the initial default directory. I will think about the possibility of adding an option to do so.

In the meanwhile, once a file is open, its directory does become the default directory for actions initiated from that files editor window. Any recently edited file can be opened on File => Recent Files.

2a. IDLE Help has been changed to IDLE Doc. Some obsolete code must be changing the name back.

2b. In any case, it should open a local copy of the IDLE Doc in IDLE itself, not a browser. It does so for me with Catalina. There have, however, been problems with tkinter and hence IDLE on Sonoma. (Make sure you install the latest Python release and try to keep it updated as new releases appear.

Please open IDLE in Terminal with python3.x -m idlelib, where x is the version you installed. Try IDLE Help and see if any error message appears in Terminal. If so, paste here between triple backtick lines to format as if code.


Thanks for response.

python3.x -m idlelib, ok opens IDLE’s shell window

The mac’s Menu Bar now shows ‘Python’ (not ‘IDLE’) as the running application. The Help Menu now has a Help Python command (not a IDLE Help command). Invoking that command gives this on terminal :

the response

Hope this is useful.

Thanks and regards,


I believe it will be. Renameing ‘IDLE Help’ to ‘Python Help’, which is quite wrong, happens on Catalina, but without the error. I will investigate more and open a tracker issue tomorrow.

But please copy and paste the traceback if you can, so I can copy-paste the last few lines to the issue.

Here it is :

Traceback (most recent call last):

File “”, line 198, in _run_module_as_main

File “”, line 88, in _run_code

File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/idlelib/”, line 7, in


File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/idlelib/”, line 1693, in main


File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tkinter/”, line 1499, in mainloop

File “/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/idlelib/”, line 213, in help_dialog



AttributeError: module ‘’ has no attribute ‘show_idlehelp’



I beat you to this: on macOS stops when selection Help -> IDLE Help · Issue #113729 · python/cpython · GitHub. There’s also a PR to fix the issue.

BTW. With the installer the best way to open IDLE is to use the application icon in the Python 3.x folder in your Applications folder.

Many thanks

In Lib/idlelib/, change _helpwindow on line 282 (back) to show_idlehelp.

I introduced this regression on Dec 3, 2023, just before the 3.11.7 release on Dec 4 and the 3.12.1 release on Dec 7, while fixing ‘htests’. As part of the new fix, I will add a new unittest that fails without the fix.

To make the IDLE doc htest continue to work, which very very few users will run, the same change is needed on line 296 and on line 193 of idlelib/idle_test/

The fix is merged and backported with an added unittest.