J'aimerais pouvoir exécuter est-ce possible? P> ./ manage.py shell code> dans un tampon EMACS, avec toutes les bonnes choses que vous obtenez d'Ipython, telles que des commandes magiques et une autoocompleure. Idéalement, je voudrais également pouvoir évaluer le code d'un tampon à la coquille Django. P>
7 Réponses :
Il ne fonctionnera pas dans Hit la coque SPAWNS P> et il devrait apparaître une coque Django comme si vous travaillez dans un terminal nu, mais c'est un autre tampon dans Emacs. P> jusqu'à l'intégration (L'envoi de code à la coquille doit être évalué, etc.) Il semble que vous puissiez pouvoir trouver ce que vous recherchez au bas de la page ici (Wiki Emacs pour Python.el) . Il y a beaucoup d'informations là-bas sur l'utilisation de Ipython avec Python.el, et vous pourrez peut-être obtenir cela pour exécuter votre shell Django en modifiant le code ou en python.el. P> p> shell code>? J'ai réussi à obtenir une session de Django Shell dans Emacs tout à l'heure actuelle.
mx shell code> puis démarrez votre coque Python à l'intérieur de cette session de coque Bash, comme: p>
en utilisant Si vous l'aimez, vous pouvez facilement créer Un clavier pour celui-ci en mettant cela à votre .emacs: p> ansi-terme code>
fera la fin de l'onglet d'Ipython Travaillez, cependant, notez que cela remappera tous CX [...] code> Keybindings sur
CC [...] code>.
Je n'ai pas de difficulté à démarrer un tampon Ipython, je veux un coquille puck.py shell code> tampon. ANSI-TERME ne vous permet pas de passer des arguments au programme qu'il exécute.
OK, alors je l'ai piraté par moi-même aujourd'hui. Une partie majeure de celle-ci est copie et pâte de py-shell code> à partir de
python-mode.el code>.
J'ai simplement créé un script de remplacement ipython shell.
J'utilise python-mode.el et iphon.el; Related .emacs.el fragment va comme ceci: p> où Smart_IPython Script ressemble à ceci: P> #!/bin/sh
set -e
/bin/echo -n "Select Django project/dir, or press enter for plain ipython: "
read selection
case $selection in
'') exec ipython ;;
project) cd /Users/japhy/Projekty/some/project/dir ;;
# other often used projects go here
*) cd $selection ;;
esac
exec python manage.py shell
C'est une très vieille question, mais c'est probablement toujours utile pour quelqu'un. J'ai trouvé le moyen le plus simple de ce que cela consiste à ajouter ce qui suit à mon fichier .emacs Vous pouvez ensuite utiliser l'une des commandes Python-Shell-interprète, et tout va courir dans le Django Shell au lieu de l'interprète python ordinaire. P> J'ai écrit un article de blog à ce sujet ici . p> p>
Après avoir recherché cette question, je pense que la meilleure solution qui fonctionnera pour plusieurs projets Django sans modifier votre configuration chaque fois que vous échangez est Python-Django est un excellent ajout à Python.el pour les utilisateurs de Django, avec de nombreuses petites améliorations de la vie, telles que les commandes en cours d'exécution, etc. P> pour le faire toujours lancer Le shell Django lors d'un projet, vous devez définir les variables locales de répertoire appropriées en créant un fichier `` ` p>" La configuration est prise de ce blogpost par l'auteur du projet. p> p> python-django.el code> plus la configuration correcte de Directory-local variables em>.
.Dir-locaux.el code> dans la racine de votre projet. Vous pouvez utiliser cette configuration pour le fichier
.dir-locals.el code>. La partie critique est la définition de votre interpréteur Python-shell args vers
gérer.py shell code> pour votre projet. P>
N'ont pas remarqué votre réponse jusqu'à ce que j'ai écrit le mien. Ce mode est vraiment cool.
C'est vieux, mais j'espère que cela aidera quelqu'un.
Le moyen le plus à jour et sans effort d'exécuter Django Développement sous EMACS consiste à utiliser le mode Django-Emacs. P>
Il peut être trouvé ici. P>
https://github.com/fgallina/python-django.el p>
Il ressemble à quelque chose comme ceci: P>
lorsque vous avez installé ce mode, Vous obtenez une entrée de menu intitulée "Django" dans votre Emacs. Comme vous pouvez le constater sur la capture d'écran ci-dessus, toutes les commandes que vous pouvez imaginer dans le menu ou comme raccourcis clavier. La coquille Django est là, à côté de toutes les autres choses. p>
C'est un mode vraiment cool. P>
P.s. Je ne suis pas un développeur ni une partie intéressée lorsqu'il s'agit de ce mode. Je suis un utilisateur heureux. P>
Il apparaît que le format de .Dir-local.el code> fichier est changé légèrement. J'utilise actuellement EMACS 25.2.2 et le format suivant fonctionne pour cette tâche P>
((python-mode . ((python-shell-interpreter . "/home/user/miniconda3/envs/xxx-web/bin/python")
(python-shell-interpreter-args . "/var/www/sites/xxx-web/xxx/manage.py shell")
(python-shell-prompt-regexp . "In \\[[0-9]+\\]: ")
(python-shell-prompt-output-regexp . "Out\\[[0-9]+\\]: ")
(python-shell-completion-setup-code . "from IPython.core.completerlib import module_completion")
(python-shell-completion-string-code . "';'.join(module_completion('''%s'''))\n")
(python-shell-completion-string-code . "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
(python-shell-virtualenv-root . "/home/user/miniconda3/envs/xxx-web"))))