Opened 19 years ago
Closed 19 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