Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Python et Emacs

2 réponses
Avatar
lionmarron
Bonjour,

J'ai parfois remarqué que Python se comporte de la même façon que s'il
conservait la trace de variables (ou de fonctions) qui ne sont plus
déclarées, mais qui l'étaient dans une version précédente d'un même script.

Ce n'est pas spécifique à Emacs (version 23.2.1), étant donné que
j'avais déjà eu l'occasion de remarquer la même chose sous IDLE.
Toutefois sur un forum Python on me dit que sous IDLE il y avait la
commande restart shell pour y remédier.

La question serait de savoir si Emacs possède un commande semblable
lorsqu'il fonctionne en mode Python. (Ou encore de savoir vers quel
endroit de la documentation on peut trouver la réponse étant donnée que
je ne lis pas vraiment l'anglais et que je ne peux pas utiliser les
tables de contenus.)


--
lionmarron

2 réponses

Avatar
Pascal J. Bourguignon
lionmarron writes:

Bonjour,

J'ai parfois remarqué que Python se comporte de la même façon que s'il
conservait la trace de variables (ou de fonctions) qui ne sont plus
déclarées, mais qui l'étaient dans une version précédente d'un même
script.

Ce n'est pas spécifique à Emacs (version 23.2.1), étant donné que
j'avais déjà eu l'occasion de remarquer la même chose sous
IDLE. Toutefois sur un forum Python on me dit que sous IDLE il y avait
la commande restart shell pour y remédier.

La question serait de savoir si Emacs possède un commande semblable
lorsqu'il fonctionne en mode Python. (Ou encore de savoir vers quel
endroit de la documentation on peut trouver la réponse étant donnée
que je ne lis pas vraiment l'anglais et que je ne peux pas utiliser
les tables de contenus.)



Dans le tampon *Python*, tape C-h m pour voir la liste des commandes du
mode.

Tape: C-h x apropos-command RET python restart RET

Dans les deux cas, il ne semble pas y avoir de commande pour redémarrer
python.


C'est en effet une commande qui pourrait être utile, elle est disponible
dans slime (pour Common Lisp).


Mais les modes run-* comme run-python ne sont que de fine couches sur
comint, on ne peut pas les considérer comme un IDE.



D'un autre côté, je ne vois pas trop bien le problème de garder des
vieilles fonctions ou des vieilles variables. En développement Common
Lisp, je ne redémarre quasiment jamais l'image. On peut facilement
charger plusieurs programmes sans interférence.


Donc, la seule solution que tu as, c'est de tuer le tampon *Python*, et
de M-x run-python RET de nouveau.

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Avatar
lionmarron
Le 26/12/2011 17:53, Pascal J. Bourguignon a écrit :

Dans le tampon *Python*, tape C-h m pour voir la liste des commandes du
mode.


Je connaissais pas cette fonction.


Tape: C-h x apropos-command RET python restart RET


J'ai supposé que tu voulais peut-être dire M-x, etc. (Sinon j'obtiens :
x is indefini.)


Dans les deux cas, il ne semble pas y avoir de commande pour redémarrer
python.


J'ai pas su tout traduire, mais pas trouvé non plus.



C'est en effet une commande qui pourrait être utile, elle est disponible
dans slime (pour Common Lisp).


Mais les modes run-* comme run-python ne sont que de fine couches sur
comint, on ne peut pas les considérer comme un IDE.



D'un autre côté, je ne vois pas trop bien le problème de garder des
vieilles fonctions ou des vieilles variables. En développement Common
Lisp, je ne redémarre quasiment jamais l'image. On peut facilement
charger plusieurs programmes sans interférence.


Donc, la seule solution que tu as, c'est de tuer le tampon *Python*, et
de M-x run-python RET de nouveau.


C'est précisément ce que je viens de comprendre en effet (ou de constater).

Pour des raisons peu claires pour moi (puisque ce n'est pas dans ce
qu'affiche C-h m), C-c C-z produit pareil que M-x run-python RET.


Quoiqu'il en soit merci pour ces utiles précisions.

--
lionmarron