Wenn python manage.py shell
ich eine Django-Anwendung mit starte , erhalte ich eine InteractiveConsole-Shell - ich kann die Tab-Vervollständigung usw. verwenden.
Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
Wenn Sie einen Python-Interpreter nur mit starten python
, bietet er keine Tab-Vervollständigung.
Kann mir jemand sagen, was Django tut, um mir eine interaktive Konsole zu geben, oder was ich tun muss, um eine interaktive Konsole ohne Django-App zu starten?
python
shell
interpreter
Ashchristopher
quelle
quelle
Antworten:
Ich habe vielleicht einen Weg gefunden, es zu tun.
Erstellen Sie eine Datei .pythonrc
Fügen Sie dann in Ihrer .bashrc-Datei hinzu
Das scheint zu funktionieren.
quelle
source ~/.bashrc
jedes Mal, damit es funktioniert, bevor ich Python Interpreter starte. Irgendwelche Tipps?.bashrc
und.bash_profile
wie am Ende dieser Seite vorgeschlagen zu vereinheitlichen : joshstaiger.org/archives/2005/07/bash_profile_vs.html Es enthält auch Informationen zum Unterschied zwischen ihnen. Es könnte das Problem nicht lösen, aber es könnte helfen./etc/bashrc
statt~/.bashrc
.Ich denke, Django macht so etwas wie https://docs.python.org/library/rlcompleter.html
Wenn Sie einen wirklich guten interaktiven Interpreter haben möchten, schauen Sie sich IPython an .
quelle
Für die Aufzeichnung wird dies im Tutorial behandelt: http://docs.python.org/tutorial/interactive.html
quelle
Ich benutze Ptpython. https://github.com/jonathanslenders/ptpython/
ptpython ist ein wunderbares Tool zur automatischen Vervollständigung der Shell cmd. Die Installation von ptpython ist sehr einfach. Verwenden Sie das Pip-Tool
und für die Django-Shell sollten Sie die Django-Umgebung wie folgt importieren
Vertrau mir, das ist der beste Weg zu dir !!!
quelle
Fix für Windows 10 Shell:
quelle
Es sieht so aus, als ob Python3 es sofort einsatzbereit hat!
quelle
In Python3 ist diese Funktion standardmäßig aktiviert. Auf meinem System war das Modul nicht
readline
installiert. Ich bin auf Manjaro. Ich habe dieses Problem mit der Tab-Vervollständigung bei anderen Linux-Distributionen (Elementary, Ubuntu, Mint) nicht festgestellt.Nach der
pip
Installation des Moduls wurde beim Importieren der folgende Fehler ausgegeben:ImportError: libncursesw.so.5: cannot open shared object file: No such file or directory
Um dies zu lösen, lief ich
cd /usr/lib ln -s libncursesw.so libncursesw.so.5
Dadurch wurde der Importfehler behoben. Und es brachte auch die Tab-Vervollständigung in der Python-Repl ohne jede Erstellung / Änderung von
.pythonrc
und.bashrc
.quelle
Ja. Es ist in 3.6 eingebaut.
fernanr @ gnuruwi ~ $ python3.6 Python 3.6.3 (Standard, 10. April 2019, 14:37:36) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] unter Linux Geben Sie "help", "copyright" ein "," Credits "oder" Lizenz "für weitere Informationen.
quelle
Für ältere Versionen (2.x) funktioniert das obige Skript wie ein Zauber :)
quelle