Opened 20 years ago
Closed 20 years ago
#1202 closed enhancement (fixed)
Allow "manage.py shell" to use IPython if present
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Tools | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I cribbed the following from TurboGears. Their tg-admin.py shell command tried to import IPython and falls back to code.interact() if IPython isn't present. I prefer IPython for several reasons. I know I can run it manually if I want to, but it isn't available via a nice, easy command!
A modification like the following to "run_shell" in django.core.management seems to work (not my original work - I grabbed it from TG):
def run_shell():
"Runs a Python interactive interpreter. Tries to run IPython if it exists"
try:
import IPython
shell = IPython.Shell.IPShell()
shell.mainloop()
except ImportError:
import code
code.interact()
Note:
See TracTickets
for help on using tickets.
(In [1930]) Fixed #1202 -- Changed 'manage.py shell' to use IPython if present. Also added '--plain' option, which overrides IPython to use the standard Python interactive prompt