2009-01-28 5 views
3

J'utilise un terminal (9term) qui exécute lui-même l'édition de la ligne de commande - les programmes qui utilisent readline se mettent en travers de son chemin. C'est complètement utf-8 conscient. Comment puis-je rendre une session python interactive désactivée readline tout en conservant l'entrée et la sortie utf-8?Comment puis-je obtenir Python interactif pour éviter d'utiliser readline tout en permettant l'entrée utf-8?

Actuellement j'utilise:

LANG=en_GB.UTF-8 export LANG 
cat | python -i 

mais cela provoque sys.stdin.encoding être Aucun, ce qui implique Ascii (l'encodage par défaut du système, qui ne semble pas être modifiable)

TERM=dumb python 

ne désactive pas readline (et il gâche également l'entrée utf-8). Je suis novice en python, donc excuses si c'est une question évidente.

Répondre

2

Dans le passé, j'ai readline Python désactivé par sa reconstruction de la source: configure --disable-readline

Cela pourrait être surpuissant, bien que, pour votre situation.

+0

cela pourrait être une option, mais si c'était possible, je préférerais une approche que je pourrais utiliser avec n'importe quel python installé. un coup d'oeil rapide dans la source a suggéré qu'une extension C chargée dynamiquement pourrait être en mesure de le faire, mais je ne suis pas sûr. – rog

+0

'--disable-readline' crée toujours une lib-dynload/readline.so qui lie à readline du système. Ce qui donne? –

Questions connexes