Wie wiederhole ich den letzten Befehl? Die üblichen Tasten: Auf, Strg + Auf, Alt-P funktionieren nicht. Sie produzieren unsinnige Charaktere.
(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
quelle
quelle
libncurses-dev
libreadline-dev
und dannconfigure-make-install
Python und es funktionierte danach. Als AntwortAntworten:
Ich benutze das Folgende, um den Verlauf auf der Python-Shell zu aktivieren.
Dies ist meine .pythonstartup- Datei. Die Umgebungsvariable PYTHONSTARTUP wird auf diesen Dateipfad gesetzt.
Sie müssen die Module readline, rlcompleter haben, um dies zu aktivieren.
Erforderliche Module:
quelle
Gehen Sie in IDLE zu Optionen -> IDLE konfigurieren -> Schlüssel und wählen Sie dort Verlauf-Weiter und dann Verlauf-Vorher aus, um die Schlüssel zu ändern.
Klicken Sie dann auf Neue Schlüssel zur Auswahl abrufen und Sie können die gewünschte Tastenkombination auswählen.
quelle
Alt + p für vorherigen Befehl aus der Historie, Alt + n für den nächsten Befehl aus der Historie.
Dies ist die Standardkonfiguration, und Sie können diese Tastenkombination nach Ihren Wünschen unter Optionen -> IDLE konfigurieren ändern.
quelle
Sie haben nicht angegeben, welche Umgebung. Angenommen, Sie verwenden IDLE.
Aus der IDLE-Dokumentation: Befehlsverlauf:
quelle
ALT + p funktioniert für mich unter Enthought Python unter Windows.
quelle
Strg + p ist die normale Alternative zum Aufwärtspfeil. Stellen Sie sicher, dass gnu readline in Ihrem Python-Build aktiviert ist.
quelle
Unter Ubuntu Server 12.04 hatte ich dieses Problem, nachdem ich eine Version von Python aus dem Quellcode (Python3.4) installiert hatte.
In einigen Kommentaren hier wird empfohlen, Ipython zu installieren, und ich möchte erwähnen, dass ich auch bei Ipython das gleiche Verhalten habe. Soweit ich das beurteilen kann, handelt es sich um ein Readline-Problem.
Für den Ubuntu 12.04-Server musste ich Python von der Quelle installieren
libncurses-dev
undlibreadline-dev
anschließend installieren, damit das Up-History-Verhalten (Readline) aktiviert werden konnte. Ich habe das so ziemlich gemacht:Danach habe ich das zuvor installierte Python gelöscht (NICHT DAS SYSTEM PYTHON, das ich von der Quelle installiert hatte!) Und es von der Quelle neu installiert und alles hat wie erwartet funktioniert.
Ich musste nichts mit pip installieren oder .pythonstartup bearbeiten.
quelle
3.4.0
bis zu beheben3.4.2
.sudo pip install readline
, damit es funktioniert (Python 2.7.11)sudo apt-get install libncurses-dev libncurses-dev:i386 libreadline-dev libreadline-dev:i386
und wieder installiert , die Quelle integrierte Python.Verwenden Sie standardmäßig ALT + p für den vorherigen Befehl. Sie können stattdessen in IDLE GUi >> OPtions >> Configure IDLE >> Key >> Benutzerdefinierte Schlüsselbindung zu Up-Arrow wechseln. Es ist nicht erforderlich, ein benutzerdefiniertes Skript auszuführen, außer das Readlines-Modul nicht in Windows ausführen. Hoffe, dass Hilfe. :) :)
quelle
Unter CentOS behebe ich das durch
und kompilieren Sie dann Python 3.4 neu.
Unter OpenSUSE behebe ich dies durch
Verweis auf diese Antwort: https://stackoverflow.com/a/26356378/2817654 . Vielleicht ist "pip3 install readline" eine allgemeine Lösung. Ich habe mein CentOS noch nicht ausprobiert.
quelle
In meinem Mac OS Python3 können Sie verwenden: Control + P Early Command Contrlo + N Next Command
quelle
Ich finde Informationen, die ich unten kopiert habe, um die Frage zu beantworten
Quelle
quelle
Suchen Sie unter
history-previous
nach dem Befehl, Sie können ihn hier in etwas ändern, das Ihnen besser gefällt.quelle
Ich verstehe nicht, warum es so viele lange Erklärungen dafür gibt. Sie müssen lediglich das pyreadline- Paket installieren mit:
sudo port install py-readline (auf Mac)
(Vorausgesetzt, Sie haben PIP bereits installiert .)
quelle
pip2
oder verwendenpip3
, je nachdem, welche Version Sie installiert haben.Sie benötigen kein benutzerdefiniertes Skript wie die Antwort von pyfunc für OSX (zumindest für Außenseiter). Klicken Sie im Leerlauf auf Leerlauf -> Einstellungen -> Tasten, suchen Sie "Verlauf-Weiter" und "Verlauf-Zurück" und belassen Sie sie entweder mit ihrer Standardtastenkürzel oder weisen Sie "Aufwärtspfeil" und "Abwärtspfeil" gemäß dem typischen erwarteten Terminalverhalten zu .
Dies ist in Idle 2.7 unter OSX Mavericks.
quelle
Wenn Sie Debian Jessie verwenden, führen Sie dies aus, um Ihre Systeminstallation zu reparieren
2.7.9
So beheben Sie meine andere
3.5.2
Installation, die ich mit pyenv installiert habe :Quellen:
[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
quelle
pip install readline
Wenn Sie mit den Pfeiltasten zum Start des Befehls gehen und die Eingabetaste drücken, wird er als aktueller Befehl kopiert.
Drücken Sie dann einfach die Eingabetaste, um es erneut auszuführen.
quelle
Ipython ist nicht immer der richtige Weg ... Ich mag es ziemlich, aber wenn Sie versuchen, die Django-Shell mit Ipython auszuführen. So etwas wie >>>
Es funktioniert nicht richtig, wenn Sie virtualenv verwenden. Django benötigt einige spezielle Includes, die nicht vorhanden sind, wenn Sie ipython starten, da es das Standard-Systempython startet, aber nicht so virtuell.
quelle
Dies kann passieren, wenn Sie
python script.py
gegen nur laufenpython
, um nur die interaktive Shell aufzurufen, unter anderem, weil readline deaktiviert ist.Versuchen:
quelle
Der Aufwärtspfeil funktioniert nur in der Python-Befehlszeile.
In IDLE (Python-GUI) lauten die Standardeinstellungen: Alt-p: Ruft den vorherigen Befehl ab, der mit Ihrer Eingabe übereinstimmt. Alt-n: Abrufen als Nächstes ... In Python 2.7.9 können Sie beispielsweise die Aktionstasten anzeigen / ändern, indem Sie Folgendes auswählen: Optionen -> IDLE konfigurieren -> (Tabulatortasten)
quelle
Für Anaconda für Python 3.5 musste ich installieren
ncurses
Nachdem die
ncurses
Registerkarte "Installation" abgeschlossen war, wurden der Verlauf und die Navigation über die Pfeile nach links und rechts in der interaktiven Shell ausgeführt.quelle
Auf einem Mac mit Python 2.x.
➜ ~ brew install rlwrap
Beginnen Sie mit rlwrap
➜ ~ rlwrap python
quelle
Zum Wiederholen des letzten Befehls in Python können Sie
<Alt + n>
in Windows verwendenquelle
Der Aufwärtspfeil funktioniert auch bei mir. Und ich glaube nicht, dass Sie das Readline-Modul für die in Python integrierte Befehlszeile installieren müssen. Sie sollten versuchen, Ipython zu überprüfen. Oder vielleicht liegt es am Problem Ihrer Keybord-Karte.
quelle
Wenn Sie MacOSX verwenden, drücken Sie,
control p
um hoch undcontrol n
runter zu fahren. Ich verwende IDLE Python 3.4.1 Shell.quelle
Es ist Control + P in Mac OS in Python 3.4 IDEL
quelle
Unter Ubuntu 16.04 hatte ich das gleiche Problem, nachdem ich Python von vorinstalliertem 3.5 auf Version 3.7 vom Quellcode aktualisiert hatte . Wie @erewok vorgeschlagen hat, habe ich es getan
gefolgt von:
sudo make install
Danach funktionierte die Pfeiltaste. Nicht sicher, welches Modul erforderlich ist, um das Problem oder beides zu beheben, aber ohne "make install" würde keines funktionieren. Während der ersten Erstellung gab es einige Red-Flag-Fehler, die jedoch ignoriert und der Build abgeschlossen wurden. Diesmal schien es keine Fehler zu geben.quelle