Comment répéter la dernière commande? Les touches habituelles: Haut, Ctrl + Haut, Alt-p ne fonctionnent pas. Ils produisent des caractères insensés.
(ve)[kakarukeys@localhost ve]$ python
Python 2.6.6 (r266:84292, Nov 15 2010, 21:48:32)
[GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world
>>> ^[[A
File "<stdin>", line 1
^
SyntaxError: invalid syntax
>>> ^[[1;5A
File "<stdin>", line 1
[1;5A
^
SyntaxError: invalid syntax
>>> ^[p
File "<stdin>", line 1
p
^
SyntaxError: invalid syntax
>>>
python
shell
virtualenv
interpreter
python-idle
kakarukeys
la source
la source
libncurses-dev
libreadline-dev
puisconfigure-make-install
Python et cela a fonctionné par la suite. Ajouté en tant que réponse ...Réponses:
J'utilise ce qui suit pour activer l'historique sur le shell python.
Ceci est mon fichier .pythonstartup . La variable d'environnement PYTHONSTARTUP est définie sur ce chemin de fichier.
Vous aurez besoin des modules readline, rlcompleter pour activer cela.
Modules requis:
la source
Dans IDLE, allez dans Options -> Configurer IDLE -> Clés et sélectionnez l'historique-suivant puis l'historique-précédent pour changer les clés.
Cliquez ensuite sur Obtenir de nouvelles clés pour la sélection et vous êtes prêt à choisir la combinaison de touches souhaitée.
la source
Alt + p pour la commande précédente de histroy, Alt + n pour la commande suivante de l'historique.
Il s'agit de la configuration par défaut et vous pouvez modifier ces raccourcis clavier selon vos préférences dans Options -> Configurer IDLE.
la source
Vous n'avez pas spécifié quel environnement. En supposant que vous utilisez IDLE.
À partir de la documentation IDLE: Historique des commandes:
la source
ALT + p fonctionne pour moi sur Enthought Python dans Windows.
la source
Ctrl + p est l'alternative normale à la flèche vers le haut. Assurez-vous que gnu readline est activé dans votre build Python.
la source
Sur Ubuntu Server 12.04, j'ai eu ce problème après avoir installé une version de Python à partir des sources (Python3.4).
Certains des commentaires ici recommandent d'installer Ipython et je tiens à mentionner que j'ai le même comportement même avec Ipython. D'après ce que je peux dire, c'est un problème de readline.
Pour le serveur Ubuntu 12.04, je devais installer
libncurses-dev
etlibreadline-dev
puis installer Python à partir de la source pour le comportement haut de l' histoire (readline) être activé. J'ai à peu près fait ceci:Après cela, j'ai supprimé le Python précédemment installé (PAS LE SYSTÈME PYTHON, celui que j'avais installé à partir de la source!) Et je l'ai réinstallé à partir de la source et tout a fonctionné comme prévu.
Je n'ai rien eu à installer avec pip ni à modifier .pythonstartup.
la source
3.4.0
à3.4.2
.sudo pip install readline
après cela pour le faire fonctionner (python 2.7.11)sudo apt-get install libncurses-dev libncurses-dev:i386 libreadline-dev libreadline-dev:i386
et de réinstaller le Python généré par la source.Par défaut, utilisez ALT + p pour la commande précédente, vous pouvez passer à Flèche vers le haut à la place dans IDLE GUi >> OPtions >> Configurer IDLE >> Clé >> Liaison de clé personnalisée Il n'est pas nécessaire d'exécuter un script personnalisé, en plus du module readlines ne le fait pas exécuter sous Windows. J'espère que cette aide. :)
la source
Sur CentOS, je corrige cela en
puis recompilez python 3.4.
Sur OpenSUSE, je corrige cela en
En référence à cette réponse: https://stackoverflow.com/a/26356378/2817654 . Peut-être que "pip3 install readline" est une solution générale. Je n'ai pas essayé sur mon CentOS.
la source
Dans mon mac os python3, vous pouvez utiliser: control + p early command contrlo + n next command
la source
Je trouve des informations que j'ai copiées ci-dessous répondre à la question
la source
la source
recherchez
history-previous
la commande ci- dessous , vous pouvez la changer en quelque chose que vous préférez une fois ici.la source
Je ne comprends pas pourquoi il y a tant de longues explications à ce sujet. Tout ce que vous avez à faire est d'installer le package pyreadline avec:
sudo port installer py-readline (sur Mac)
(En supposant que vous ayez déjà installé PIP .)
la source
pip2
oupip3
, selon la version que vous avez installée.Vous n'avez pas besoin d'un script personnalisé comme la réponse de pyfunc pour OSX (du moins sur les non-conformistes). En mode veille, cliquez sur Inactif -> Préférences -> Touches, recherchez "historique-suivant" et "historique-précédent", et laissez-les avec leur raccourci clavier par défaut ou attribuez une "flèche vers le haut" et une "flèche vers le bas" en fonction du comportement attendu du terminal. .
Ceci est sur Idle 2.7 sur OSX Mavericks.
la source
Si vous utilisez Debian Jessie, exécutez ceci pour corriger l'installation de votre système
2.7.9
Pour réparer mon autre
3.5.2
installation que j'ai installée avec pyenv :Sources:
[1] https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/
[2] https://github.com/yyuu/pyenv/issues/240
[3] https://stackoverflow.com/a/40229934/332788
la source
pip install readline
Utiliser les touches fléchées pour aller au début de la commande et appuyer sur Entrée la copie en tant que commande actuelle.
Ensuite, appuyez simplement sur Entrée pour l'exécuter à nouveau.
la source
Ipython n'est pas toujours le chemin ... Je l'aime beaucoup, mais si vous essayez d'exécuter le shell Django avec ipython. Quelque chose comme >>>
cela ne fonctionne pas correctement si vous utilisez virtualenv. Django a besoin d'inclusions spéciales qui ne sont pas là si vous démarrez ipython, car il démarre le système python par défaut, mais pas ce virtuel.
la source
Cela peut se produire lorsque vous exécutez
python script.py
vs justepython
pour entrer dans le shell interactif, entre autres raisons pour lesquelles readline est désactivé.Essayer:
la source
La flèche vers le haut fonctionne uniquement en ligne de commande Python.
En IDLE (Python GUI), les valeurs par défaut sont: Alt-p: récupère la commande précédente correspondant à ce que vous avez tapé. Alt-n: récupère suivant ... Dans Python 2.7.9 par exemple, vous pouvez voir / modifier les touches d'action en sélectionnant: Options -> Configurer IDLE -> Clés (Tab)
la source
Pour anaconda pour python 3.5, j'avais besoin d'installer
ncurses
Une fois l'
ncurses
onglet d'installation terminé, l'historique et la navigation via les flèches gauche et droite fonctionnaient dans le shell interactif.la source
Sur Mac avec Python 2.x
➜ ~ brew install rlwrap
Commencez avec rlwrap
➜ ~ rlwrap python
la source
Pour répéter la dernière commande en python, vous pouvez utiliser
<Alt + n>
dans windowsla source
La flèche vers le haut fonctionne pour moi aussi. Et je ne pense pas que vous ayez besoin d'installer le module Readline pour la ligne de commande intégrée python. Vous devriez essayer Ipython pour vérifier. Ou peut-être que c'est le problème de votre carte de clavier.
la source
Si vous utilisez MacOSX, appuyez sur
control p
pour monter etcontrol n
descendre. J'utilise IDLE Python 3.4.1 Shell.la source
c'est control + p sous Mac os en python 3.4 IDEL
la source
Sur Ubuntu 16.04, j'ai eu le même problème après la mise à niveau de Python de la version 3.5 préchargée vers la version 3.7 à partir du code source . Comme @erewok l'a suggéré, je l'ai fait
suivi de:
sudo make install
Après cela, la flèche vers le haut a fonctionné. Je ne sais pas quel module est requis pour résoudre le problème ou les deux, mais sans "make install", aucun ne fonctionnerait. Lors de la création initiale, il y avait des erreurs de drapeau rouge, mais elles ont été ignorées et ont terminé la construction. Cette fois, il ne semblait y avoir aucune erreur.la source