iTerm2, unicode y sympy

6

En mi Mac (OS X Mavericks) y en mi máquina de Ubuntu, instalé Sympy, que es una biblioteca de Python para las matemáticas simbólicas. Parte de sympy es la bonita funcionalidad de impresión que utiliza caracteres Unicode para pretender expresiones simbólicas en los entornos de línea de comandos con compatibilidad con Unicode. Por ejemplo, en mi máquina Ubuntu y en su gnome-terminal ejecutando el siguiente código

from sympy import *
x = Symbol("x")
pprint(Integral(sqrt(1/x), x)) 

rinde a

Sinembargo,elmismocomandoenOSXconiTerm2(quedeberíasercompatibleconUnicode)dacomoresultado

Estoy usando sympy 0.7.5 que he hecho desde la fuente con la última compilación de iTerm2 (compilación 1.0.0.20140518). ¿Hay algo que echo de menos aquí? El desarrollador principal de sympy es una de las redes de StackExchange. Sería genial saber su opinión sobre este.

    
pregunta Pouya 19.06.2014 - 15:57

2 respuestas

5

Finalmente descubrí cuál es el problema. El problema fue no con los emuladores de terminal, ya que tanto OSX Terminal como iTerm2 estaban usando UTF-8 de forma predeterminada. Resultó que uno tiene que informar a Python explícitamente que el terminal es capaz de manejar Unicode por medio de

export PYTHONIOENCODING=utf-8

Créditos a esta respuesta de stackoverflow.

    
respondido por el Pouya 20.06.2014 - 11:37
0

Asegúrese de que su terminal esté en las preferencias de iTerm - > Perfiles - > El terminal admite Unicode (la codificación de caracteres debe ser "Unicode (UTF-8)". SymPy elegirá ASCII si el terminal no informa que admite Unicode.

    
respondido por el asmeurer 19.06.2014 - 18:00

Lea otras preguntas en las etiquetas