2012-01-19 4 views
0

Mon mode de travail standard en Python consiste à éditer un fichier texte tout en ayant IPython ouvert dans un terminal. J'écris des fonctions une ligne à la fois et les colle une à la fois dans IPython. Quand une ligne est erronée, je la corrige dans l'éditeur de texte, puis je la recolle.Solution de contournement pour autoriser les espaces blancs dans IPython

Cela fonctionnait bien mais les versions récentes d'IPython n'acceptent pas le code indenté. Une solution suggérée est d'utiliser le terminal qt, mais souvent je suis connecté sur une session SSH. Une autre solution suggérée est d'utiliser% cpaste, mais cela représente beaucoup de surcharge si vous collez une ligne de code en retrait à la fois (% cpaste au début et - à la fin, 2 lignes de préfixe par ligne de code). Ce que je fais actuellement, c'est désindigner chaque bloc dans mon éditeur de texte avant que je commence à travailler dessus, mais c'est aussi une douleur. D'autres idées? Ce qui serait génial, c'est s'il y a un moyen de mettre IPython de façon permanente en mode% cpaste, ou quelle que soit la partie de ce mode qui fait qu'il ne tient pas compte des espaces blancs.

Voir aussi:

unexpected indent in ipython 0.10.1

https://github.com/ipython/ipython/issues/573

grâce

+0

"Mon mode de fonctionnement standard ..." Pouvez-vous obtenir un véritable IDE? Il y a des dizaines. Il y a beaucoup de meilleures façons de travailler que cela. Avez-vous considéré que ce n'est pas optimal? –

+0

Un avantage de la qtconsole est qu'elle * fonctionne * sur ssh. Vous pouvez exécuter le noyau sur votre serveur et démarrer une qtconsole connectée via des tunnels ssh, et continuer à utiliser le même noyau depuis différents points de terminaison. [les documents pertinents] (http://ipython.org/ipython-doc/dev/interactive/qtconsole.html#ssh-tunnels) – minrk

+0

Nous avons un problème ouvert pour cela, mais c'est une priorité faible: https: // github .com/ipython/ipython/éditions/995. Si vous souhaitez travailler dessus, peut-être sous la forme d'une extension IPython, nous vous donnerons volontiers des conseils sur la façon de procéder. –

Répondre

0

vient de présenter un pull request qui devrait résoudre ce problème. Pour les grands blocs délimités par plusieurs retours à la ligne, %cpaste est toujours recommandé.

Questions connexes