Commit 2ab1e928 authored by Jannis Leidel's avatar Jannis Leidel
Browse files

[1.2.X] Fixed #12735 and #14892 -- Fixed support for the latest IPython...

[1.2.X] Fixed #12735 and #14892 -- Fixed support for the latest IPython (development) version in the shell management command.

Backport from trunk (r14895).

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14910 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 48034107
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -23,11 +23,21 @@ class Command(NoArgsCommand):
            if use_plain:
                # Don't bother loading IPython, because the user wants plain Python.
                raise ImportError
            import IPython
            # Explicitly pass an empty list as arguments, because otherwise IPython
            # would use sys.argv from this script.
            shell = IPython.Shell.IPShell(argv=[])
            try:
                from IPython.frontend.terminal.embed import TerminalInteractiveShell
                shell = TerminalInteractiveShell()
                shell.mainloop()
            except ImportError:
                # IPython < 0.11
                # Explicitly pass an empty list as arguments, because otherwise
                # IPython would use sys.argv from this script.
                try:
                    from IPython.Shell import IPShell
                    shell = IPShell(argv=[])
                    shell.mainloop()
                except ImportError:
                    # IPython not found at all, raise ImportError
                    raise
        except ImportError:
            import code
            # Set up a dictionary to serve as the environment for the shell, so