iTerm2, Unicode y Sympy

En mi máquina Mac (OS X Mavericks) y Ubuntu, he instalado Sympy, que es una biblioteca de Python para matemática simbólica. Parte de sympy es la funcionalidad de printing bonita que utiliza caracteres Unicode para embellecer expresiones simbólicas en los entornos de command-line con soporte 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

enter image description here

Sin embargo, el mismo command en OS X con iTerm2 (que debería admitir unicode) da como resultado

enter image description here

Estoy usando sympy 0.7.5 que he hecho desde la fuente con la última compilation de iTerm2 (compilation 1.0.0.20140518). ¿Hay algo que extraño aquí? El desarrollador principal de sympy es uno de la networking StackExchange. Sería grandioso saber su opinión sobre este.

  • Mac de Excel: algunos files de text no se pueden abrir / importar ("En gris")
  • Tiempo de actividad informe múltiples usuarios
  • la terminal aborta cuando el process termina ejecutarse con un valor de retorno distinto de cero
  • Equivalente OSX para ~ / bin en Linux
  • ¿Qué hace que la utilidad del intérprete bash interprete citas dobles estándar e inteligentes, presentes en un guión de shell, creadas en TextEdit?
  • Terminal: desactiva la printing / salida de los commands del keyboard
  • ¿Cómo puedo saber si mi MacBook Air es compatible con la virtualización de la unidad de administración de memory (MMU) para Docker?
  • ¿Dónde está la aplicación de la terminal en el sistema de files?
  • 2 Solutions collect form web for “iTerm2, Unicode y Sympy”

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

     export PYTHONIOENCODING=utf-8 

    Créditos a esta respuesta stackoverflow.

    Asegúrese de que su terminal en las preferences de iTerm -> Perfiles -> Terminal sea compatible con Unicode (la encoding de caracteres debe ser "Unicode (UTF-8)". SymPy elegirá ASCII si el terminal no informa que admite Unicode.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).