classification
Title: IDLE will not load
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.2
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: kbk Nosy List: amaury.forgeotdarc, asvetlov, epitome83, gcd0318, gpolo, kbk, roger.serwy, terry.reedy
Priority: normal Keywords: patch

Created on 2009-04-06 07:40 by epitome83, last changed 2012-03-25 21:09 by asvetlov. This issue is now closed.

Files
File name Uploaded Description Edit
idle_bindings.patch amaury.forgeotdarc, 2009-04-06 18:13 review
Messages (9)
msg85618 - (view) Author: (epitome83) Date: 2009-04-06 07:40
I downloaded Python 3.0.1 and installed on Vista. I opened IDLE and it 
worked fine. I went into the Preferences to change the keybindings on 
the history scrollers. I changed history-next to Ctrl+Down Arrow, 
though when I pressed OK it listed only Control as the binding. I then 
tried to change history-prev to Ctrl+Up Arrow, but when I pressed OK, 
it gave an error that that binding was already taken. The program then 
crashed. Since then whenever I try to open IDLE, the pythonw.exe 
process appears in my Task Manager briefly, but then it exits, and I 
never see any other evidence the program has opened. The command line 
still works fine. I tried repairing the installation, uninstalling, 
restarting the computer, and removing the leftover registry keys for a 
completely clean install, but nothing has worked to be able to reopen 
the program.
msg85659 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2009-04-06 18:13
Reproduced with the console python.exe.
Click an item in the list on the right to choose the key ("down arrow")

Exception in Tkinter callback
Traceback (most recent call last):
  File "c:\Python30\lib\tkinter\__init__.py", line 1405, in __call__
    return self.func(*args)
  File "c:\Python30\lib\idlelib\keybindingDialog.py", line 158, in
FinalKeySelected
    self.BuildKeyString()
  File "c:\Python30\lib\idlelib\keybindingDialog.py", line 165, in
BuildKeyString
    keyList.append(finalKey)
AttributeError: 'filter' object has no attribute 'append'

Then it is still possible to save these settigs, but the binding
contains event=="Control", and IDLE fails on startup:
Traceback (most recent call last):
  File "c:\afa\python\py3k\lib\runpy.py", line 128, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\afa\python\py3k\lib\runpy.py", line 34, in _run_code
    exec(code, run_globals)
  File "c:\afa\python\py3k\lib\idlelib\idle.py", line 22, in <module>
    idlelib.PyShell.main()
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 1375, in main
    shell = flist.open_shell()
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 276, in open_shell
    self.pyshell = PyShell(self)
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 800, in __init__
    OutputWindow.__init__(self, flist, None, None)
  File "c:\afa\python\py3k\lib\idlelib\OutputWindow.py", line 16, in
__init__
    EditorWindow.__init__(self, *args)
  File "c:\afa\python\py3k\lib\idlelib\EditorWindow.py", line 117, in
__init__
    self.apply_bindings()
  File "c:\afa\python\py3k\lib\idlelib\EditorWindow.py", line 943, in
apply_bindings
    text.event_add(event, *keylist)
  File "c:\afa\python\py3k\lib\idlelib\MultiCall.py", line 359, in event_add
    widget.event_add(self, virtual, seq)
  File "c:\afa\python\py3k\lib\tkinter\__init__.py", line 1353, in event_add
    self.tk.call(args)
_tkinter.TclError: bad event type or keysym "Control"

Simple patch attached.
msg85668 - (view) Author: (epitome83) Date: 2009-04-06 21:27
Thank you for the patch. I have applied it (which is to say, swapped out

return filter(None, modList)
for
return [mod for mod in modList if mod]

in keybindingDialog.py), but the problem persists. python.exe continues 
to load fine, but pythonw.exe still fails at startup.
msg85672 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2009-04-06 21:44
The incorrect settings have been saved in your %USERPROFILE%\.idlerc 
directory. Try deleting the idle-extensions.cfg there.

BTW, "pythonw.exe" is not IDLE. It's a plain python interpreter without 
a console. When used with no argument it can only exit quickly...

To see the IDLE error messages, I often type this in a console window:
c:\python30\python.exe -m idlelib.idle
msg86645 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2009-04-27 05:41
r71998  Thanks for the patch!

backport to 30-maint.

If OP has further problems getting installation working, delete .idlerc 
directory.
msg94998 - (view) Author: GUO, Chen (gcd0318) Date: 2009-11-06 20:31
Modification to "customer key set" would make IDLE fail to start

To re-produce:
1, Start IDLE, and switch to Preference -> Keys;
2, Make modification to the key binding;
3, Click Apply, then click OK
4, repeat above steps.
The 2nd time to click OK would not get any response.
But this is not the nightmare. Now quit IDLE and restart IDLE. But IDLE 
cannot restart.

I believe that issue5707 is still exist in Ver. 3.1.1 for Mac OS X.

OS: Mac OS X 10.6.1
Python version: 3.1.1

The error message from console of Mac OS X is attached as following:
-------------------------------
Last login: Sat Nov  7 03:34:20 on ttys000
/Applications/Python\ 3.1/IDLE.app/Contents/MacOS/IDLE ; exit;
localhost:~ gcd$ /Applications/Python\ 3.1/IDLE.app/Contents/MacOS/IDLE 
; exit;
Traceback (most recent call last):
  File "/Applications/Python 
3.1/IDLE.app/Contents/Resources/idlemain.py", line 73, in <module>
    main()
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/PyShell.py", line 1386, in main
    flist.new()
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/FileList.py", line 49, in new
    return self.EditorWindow(self, filename)
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/PyShell.py", line 107, in __init__
    EditorWindow.__init__(self, *args)
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/EditorWindow.py", line 135, in __init__
    self.apply_bindings()
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/EditorWindow.py", line 961, in apply_bindings
    text.event_add(event, *keylist)
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/idlelib
/MultiCall.py", line 359, in event_add
    widget.event_add(self, virtual, seq)
  File 
"/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/tkinter
/__init__.py", line 1353, in event_add
    self.tk.call(args)
_tkinter.TclError: bad event type or keysym "Control"
logout
msg151991 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2012-01-26 04:26
The patch fixed a real issue, the difference return of filter in 3.x versus 2.x. Bad key bindings came up in #11437 and #13864 also.
msg152189 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012-01-28 21:07
Amaury's patch has already been applied in (d31be8c9c8a2).

GUO's description does cause an error. TclTk does not allow "<Control>" by itself to be bounded. This underlying cause for that error is addressed in #6739

I think this issue should be closed.
msg156772 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-03-25 21:09
Closing the issue. If somebody has a problem related to this — please make a new report.
History
Date User Action Args
2012-03-25 21:09:29asvetlovsetstatus: open -> closed

nosy: + asvetlov
messages: + msg156772

resolution: accepted -> fixed
stage: commit review -> resolved
2012-01-28 21:07:05roger.serwysetmessages: + msg152189
2012-01-26 04:26:34terry.reedysetnosy: + terry.reedy, roger.serwy

messages: + msg151991
versions: + Python 3.2, - Python 3.0, Python 3.1
2009-11-06 20:31:43gcd0318setnosy: + gcd0318
messages: + msg94998
2009-04-27 05:41:31kbksetassignee: kbk
versions: + Python 3.1
nosy: + kbk

messages: + msg86645
resolution: accepted
stage: patch review -> commit review
2009-04-26 22:23:42ajaksu2setpriority: normal
nosy: + gpolo

type: crash -> behavior
stage: patch review
2009-04-06 21:44:41amaury.forgeotdarcsetmessages: + msg85672
2009-04-06 21:27:11epitome83setmessages: + msg85668
2009-04-06 18:13:26amaury.forgeotdarcsetfiles: + idle_bindings.patch

nosy: + amaury.forgeotdarc
messages: + msg85659

keywords: + patch
2009-04-06 07:40:19epitome83create