Lorsque je lance une application Django avec python manage.py Shell
, je reçois un shell InteractiveConsole - je peux utiliser la complétion par tabulation, etc.
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)
Lors du démarrage d'un interpréteur python à l'aide de python
, il n'est pas possible de compléter les tabulations.
Quelqu'un peut-il me dire ce que Django fait pour me fournir une console interactive ou ce que je dois faire pour démarrer une console interactive sans application Django?
J'ai peut-être trouvé un moyen de le faire.
Créer un fichier .pythonrc
# ~/.pythonrc
# enable syntax completion
try:
import readline
except ImportError:
print("Module readline not available.")
else:
import rlcompleter
readline.parse_and_bind("tab: complete")
puis dans votre fichier .bashrc, ajoutez
export PYTHONSTARTUP=~/.pythonrc
Cela semble fonctionner.
Je pense que Django fait quelque chose comme https://docs.python.org/library/rlcompleter.html
Si vous voulez un très bon interprète interactif, regardez http://ipython.scipy.org/ .
Pour mémoire, cela est couvert dans le tutoriel: http://docs.python.org/tutorial/interactive.html
J'utilise ptpython . https://github.com/jonathanslenders/ptpython/
ptpython est un outil formidable auto-complétant Shell cmd . installer ptpython est très facile, utilisez l'outil pip
pip installer ptpython
et pour Django Shell, vous devez importer l'enveloppe Django, comme ceci
importation os
os.environ.setdefault ("Django_SETTINGS_MODULE", "testweb.settings")
Croyez-moi, c'est le meilleur moyen pour vous !!!
On dirait que python3 a sa boîte prête à l'emploi!
Je crée un .pythonrc.py
plus parfait, il peut être utile: https://Gist.github.com/guyskk/6f3522e3d17135b470bf3d982c80cc01
En Python3, cette fonctionnalité est activée par défaut. Le module readline
n'était pas installé sur mon système. Je suis sur Manjaro. Je n'ai pas été confronté à ce problème d'achèvement d'onglet sur les autres distributions Linux (élémentaire, Ubuntu, menthe).
Après que pip
ait installé le module, lors de l’importation, l’erreur suivante s'est produite.
ImportError: libncursesw.so.5: cannot open shared object file: No such file or directory
Pour résoudre ce problème, j'ai
cd /usr/lib
ln -s libncursesw.so libncursesw.so.5
Cela a résolu l'erreur d'importation. Et, cela a également amené la complétion des onglets dans la réplique python sans aucune création/modification de .pythonrc
et .bashrc
.
correctif pour Windows 10 Shell: