¿Paquete incorrecto para Idle-python2.7?

¿Paquete incorrecto para Idle-python2.7?

Estoy ejecutando Python 2.7 en Ubuntu 13.10 y el modo inactivo (idle-python2.7) dejó de funcionar. Cada vez que intento abrir un archivo en una ventana del editor, está en blanco, aunque el archivo existe y no está vacío/en blanco. Además, no es posible cerrar el modo inactivo después de esto, excepto mediante un comando de eliminación del terminal.

  • Idle funcionaba bien antes. El problema apareció después de instalar varias cosas, incluido idlex, varios módulos scipy y mpmath, pero después de intentar repararlo de varias maneras, parece ser causado por el paquete inactivo oficial de Ubuntu.

Recibo este error en la terminal cuando intento abrir un archivo en modo inactivo:

Exception in Tkinter callback
[...lines ommitted for brevity...]
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 129, in coding_spec
    for line in lst:
NameError: global name 'lst' is not defined

Si miras el código, parece un error obvio: de hecho, lstno está definido en la función coding_spec. Además, el archivo fuente IOBinding.py enhttp://fossies.org/dox/Python-2.7.5/IOBinding_8py_source.htmles diferente y no muestra el problema.

Pensando que uno de los paquetes recientes había sobrescrito el archivo de alguna manera, intenté varias cosas, incluida reinstalar todos los paquetes de Python desde Synaptic, pero el IOBinding.py incorrecto todavía está allí. La razón por la que creo que el problema radica en el paquete en sí es que finalmente lo hice sudo apt-get remove idley verifiqué que elinactivoEl directorio estaba vacío y se reinstaló con sudo apt-get install idle; pero volvió a aparecer el archivo IOBinding.py incorrecto.

De hecho, puedo hacer que la inactividad vuelva a funcionar simplemente reemplazando lstpor stren el código, pero para mí eso es claramente un no-no. Tampoco estoy muy contento de intentar reemplazar solo ese archivo de la distribución de Python fuente, ya que otros archivos pueden estar incorrectos. Quiero obtener los archivos correctos del paquete oficial.

Respuesta1

Es un 'yo también', sin solución.

...hasta que busqué el error específico.

Editar el archivo

/usr/lib/python2.7/idlelib/IOBinding.py

y reemplace esta línea en la función coding_spec:

str = str.split("\n", 2)[:2]

con:

lst = str.split("\n", 2)[:2]

http://ubuntuforums.org/showthread.php?t=2182753

información relacionada