6 votes

iTerm2, unicode et sympy

Dans ma machine Mac (OS X Mavericks) et Ubuntu, j'ai installé sympy qui est une bibliothèque Python pour les mathématiques symboliques. Une partie de sympy est la fonctionnalité d'impression jolie qui utilise les caractères unicode pour embellir les expressions symboliques dans les environnements de ligne de commande avec support unicode. Par exemple, sur ma machine Ubuntu et dans sa version gnome-terminal en exécutant le code suivant

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

rend à

enter image description here

Cependant, la même commande sous OS X avec iTerm2 (qui devrait supporter l'unicode) donne comme résultat

enter image description here

J'utilise sympy 0.7.5 que j'ai réalisé à partir des sources avec la dernière version de iTerm2 (Build 1.0.0.20140518). Y a-t-il quelque chose qui m'échappe ici ? Le développeur principal de sympy fait partie du réseau StackExchange. Il serait formidable de connaître son opinion sur ce sujet.

6voto

Pouya Points 405

J'ai enfin trouvé quel est le problème. Le problème était no avec les émulateurs de terminal eux-mêmes comme OSX Terminal y iTerm2 utilisaient UTF-8 par défaut. Il s'est avéré que l'on doit informer explicitement Python que le terminal est capable de gérer l'unicode au moyen de la fonction

export PYTHONIOENCODING=utf-8

Crédits à ce Réponse de stackoverflow.

0voto

Zsub Points 1737

Assurez-vous que votre terminal dans les préférences iTerm -> Profils -> Terminal supporte Unicode (l'encodage des caractères doit être "Unicode (UTF-8)". SymPy choisira ASCII si le terminal ne rapporte pas qu'il supporte Unicode.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X