[Python-de] IDLE unter Linux

Gerhard Häring haering_python at gmx.de
Mon Sep 17 22:00:16 EDT 2001


On Fri, Sep 14, 2001 at 05:05:46PM +0200, Albert Hermeling wrote:
> Hallo,
> 
> als Python IDE möchte ich gerne IDLE unter Linux gebrauchen. Das Problem ist, 
> ich kann die Skripte nicht speichern! Ich bekomme dann folgende 
> Fehlermeldungen präsentiert:
> 
> Exception in Tkinter callback
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.1/lib-tk/Tkinter.py", line 1285, in __call__
>     return apply(self.func, args)
>   File "/home/albert/idle/IOBinding.py", line 136, in save_as
>     if self.writefile(filename):
>   File "/home/albert/idle/IOBinding.py", line 154, in writefile
>     f.write(chars)
> UnicodeError: ASCII encoding error: ordinal not in range(128)
> 
> Versuche haben ergeben das das Problem mit den Sonderzeichen ä, ü usw. 
> zusammenhängt. Aber auch Zeichen wie § führen zur obigen Meldung. Die Datei 
> wird dann nicht gespeichert. Falls die Datei schon vorhanden ist wird sie mit 
> nichts überschrieben.
> 
> Hat jemand von euch eine Idee wie man dieses Problem lösen kann?

Ja. Folgendes funktioniert bei mir:

Falls es ein Modul sitecustomize irgendwo im Python-Pfad (sys.path), gibt, wird
dies beim Starten von Python importiert. Standardmäßig gibt es so ein Modul
nirgends, also kannst du es z. B. in $PYTHONROOT/lib/python2.1/site-packages
anlegen. Folgendes reinschreiben:

import sys
sys.setdefaultencoding("iso-8859-1")

Das *muss* in dieses Modul rein, da das default encoding später nicht mehr
geändert werden kann.

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    public key at homepage
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



More information about the Python-de mailing list