*************************************************************************** IPython post-mortem report {'commit_hash': u'5c9c918', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/usr/lib/python2.7/dist-packages/IPython', 'ipython_version': '5.1.0', 'os_name': 'posix', 'platform': 'Linux-4.10.0-35-generic-x86_64-with-Ubuntu-17.04-zesty', 'sys_executable': '/usr/bin/python', 'sys_platform': 'linux2', 'sys_version': '2.7.13 (default, Jan 19 2017, 14:48:08) \n[GCC 6.3.0 20170118]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 2.7.13: /usr/bin/python Wed Sep 27 12:48:01 2017 A problem occurred executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /usr/share/sagemath/bin/sage-ipython in () 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 7 from sage.repl.interpreter import SageTerminalApp 8 9 app = SageTerminalApp.instance() ---> 10 app.initialize() global app.initialize = > 11 app.start() in initialize(self=, argv=None) /usr/lib/python2.7/dist-packages/traitlets/config/application.pyc in catch_config_error(method=, app=, *args=(None,), **kwargs={}) 72 TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR = False 73 else: 74 raise ValueError("Unsupported value for environment variable: 'TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR' is set to '%s' which is none of {'0', '1', 'false', 'true', ''}."% _envvar ) 75 76 77 @decorator 78 def catch_config_error(method, app, *args, **kwargs): 79 """Method decorator for catching invalid config (Trait/ArgumentErrors) during init. 80 81 On a TraitError (generally caused by bad config), this will print the trait's 82 message, and exit the app. 83 84 For use on init methods, to prevent invoking excepthook on invalid input. 85 """ 86 try: ---> 87 return method(app, *args, **kwargs) method = app = args = (None,) kwargs = {} 88 except (TraitError, ArgumentError) as e: 89 app.print_help() 90 app.log.fatal("Bad config encountered during initialization:") 91 app.log.fatal(str(e)) 92 app.log.debug("Config at the time: %s", app.config) 93 app.exit(1) 94 95 96 class ApplicationError(Exception): 97 pass 98 99 100 class LevelFormatter(logging.Formatter): 101 """Formatter with additional `highlevel` record 102 /usr/lib/python2.7/dist-packages/IPython/terminal/ipapp.pyc in initialize(self=, argv=None) 294 295 return super(TerminalIPythonApp, self).parse_command_line(argv) 296 297 @catch_config_error 298 def initialize(self, argv=None): 299 """Do actions after construct, but before starting the app.""" 300 super(TerminalIPythonApp, self).initialize(argv) 301 if self.subapp is not None: 302 # don't bother initializing further, starting subapp 303 return 304 # print self.extra_args 305 if self.extra_args and not self.something_to_run: 306 self.file_to_run = self.extra_args[0] 307 self.init_path() 308 # create the shell --> 309 self.init_shell() self.init_shell = > 310 # and draw the banner 311 self.init_banner() 312 # Now a variety of things that happen after the banner is printed. 313 self.init_gui_pylab() 314 self.init_extensions() 315 self.init_code() 316 317 def init_shell(self): 318 """initialize the InteractiveShell instance""" 319 # Create an InteractiveShell instance. 320 # shell.display_banner should always be False for the terminal 321 # based app, because we call shell.show_banner() by hand below 322 # so the banner shows *before* all extension loading stuff. 323 self.shell = TerminalInteractiveShell.instance(parent=self, 324 profile_dir=self.profile_dir, /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in init_shell(self=) 730 This code is based on 731 :meth:`TerminalIPythonApp.init_shell`. 732 733 EXAMPLES:: 734 735 sage: from sage.repl.interpreter import SageTerminalApp 736 sage: app = SageTerminalApp.instance() 737 sage: app.shell 738 739 """ 740 # Shell initialization 741 self.shell = self.shell_class.instance( 742 parent=self, 743 config=self.config, 744 profile_dir=self.profile_dir, --> 745 ipython_dir=self.ipython_dir) global ipython_dir = undefined self.ipython_dir = u'/home/geeko/.ipython' 746 self.shell.configurables.append(self) 747 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 748 749 # Load the %lprun extension if available 750 try: 751 import line_profiler 752 except ImportError: 753 pass 754 else: 755 self.extensions.append('line_profiler') 756 757 if self.shell.has_sage_extensions: 758 self.extensions.remove(SAGE_EXTENSION) 759 760 # load sage extension here to get a crash if /usr/lib/python2.7/dist-packages/traitlets/config/configurable.pyc in instance(cls=, *args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir': u'/home/geeko/.ipython', 'parent': , 'profile_dir': }) 397 >>> class Foo(SingletonConfigurable): pass 398 >>> foo = Foo.instance() 399 >>> foo == Foo.instance() 400 True 401 402 Create a subclass that is retrived using the base class instance:: 403 404 >>> class Bar(SingletonConfigurable): pass 405 >>> class Bam(Bar): pass 406 >>> bam = Bam.instance() 407 >>> bam == Bar.instance() 408 True 409 """ 410 # Create and save the instance 411 if cls._instance is None: --> 412 inst = cls(*args, **kwargs) inst = undefined cls = args = () kwargs = {'ipython_dir': u'/home/geeko/.ipython', 'profile_dir': , 'config': {'InteractiveShell': {'term_title': True, 'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': , 'separate_in': '', 'ast_node_interactivity': 'all', 'simple_prompt': False}, 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp': {'shell_class': , 'display_banner': False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp': {'force_interact': True}}, 'parent': } 413 # Now make sure that the instance will also be returned by 414 # parent classes' _instance attribute. 415 for subclass in cls._walk_mro(): 416 subclass._instance = inst 417 418 if isinstance(cls._instance, cls): 419 return cls._instance 420 else: 421 raise MultipleInstanceError( 422 'Multiple incompatible subclass instances of ' 423 '%s are being created.' % cls.__name__ 424 ) 425 426 @classmethod 427 def initialized(cls): /usr/lib/python2.7/dist-packages/IPython/terminal/interactiveshell.pyc in __init__(self=, *args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir': u'/home/geeko/.ipython', 'parent': , 'profile_dir': }) 381 382 def init_alias(self): 383 # The parent class defines aliases that can be safely used with any 384 # frontend. 385 super(TerminalInteractiveShell, self).init_alias() 386 387 # Now define aliases that only make sense on the terminal, because they 388 # need direct access to the console in a way that we can't emulate in 389 # GUI or web frontend 390 if os.name == 'posix': 391 for cmd in ['clear', 'more', 'less', 'man']: 392 self.alias_manager.soft_define_alias(cmd, cmd) 393 394 395 def __init__(self, *args, **kwargs): --> 396 super(TerminalInteractiveShell, self).__init__(*args, **kwargs) global super = undefined global TerminalInteractiveShell = self.__init__ = > args = () kwargs = {'profile_dir': , 'config': {'InteractiveShell': {'term_title': True, 'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': , 'separate_in': '', 'ast_node_interactivity': 'all', 'simple_prompt': False}, 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp': {'shell_class': , 'display_banner': False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir': u'/home/geeko/.ipython', 'parent': } 397 self.init_prompt_toolkit_cli() 398 self.init_term_title() 399 self.keep_running = True 400 401 self.debugger_history = InMemoryHistory() 402 403 def ask_exit(self): 404 self.keep_running = False 405 406 rl_next_input = None 407 408 def pre_prompt(self): 409 if self.rl_next_input: 410 self.pt_cli.application.buffer.text = cast_unicode_py2(self.rl_next_input) 411 self.rl_next_input = None /usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in __init__(self=, ipython_dir=u'/home/geeko/.ipython', profile_dir=, user_module=None, user_ns=None, custom_exceptions=((), None), **kwargs={'config': {'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'parent': }) 487 self.init_builtins() 488 489 # The following was in post_config_initialization 490 self.init_inspector() 491 if py3compat.PY3: 492 self.raw_input_original = input 493 else: 494 self.raw_input_original = raw_input 495 self.init_completer() 496 # TODO: init_io() needs to happen before init_traceback handlers 497 # because the traceback handlers hardcode the stdout/stderr streams. 498 # This logic in in debugger.Pdb and should eventually be changed. 499 self.init_io() 500 self.init_traceback_handlers(custom_exceptions) 501 self.init_prompts() --> 502 self.init_display_formatter() self.init_display_formatter = > 503 self.init_display_pub() 504 self.init_data_pub() 505 self.init_displayhook() 506 self.init_magics() 507 self.init_alias() 508 self.init_logstart() 509 self.init_pdb() 510 self.init_extension_manager() 511 self.init_payload() 512 self.init_deprecation_warnings() 513 self.hooks.late_startup_hook() 514 self.events.trigger('shell_initialized', self) 515 atexit.register(self.atexit_operations) 516 517 def get_ipython(self): /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in init_display_formatter(self=) 245 246 sage: from sage.repl.interpreter import SageTerminalInteractiveShell 247 sage: SageTerminalInteractiveShell() # not tested 248 249 """ 250 251 def init_display_formatter(self): 252 """ 253 Switch to the Sage IPython commandline rich output backend 254 255 EXAMPLES:: 256 257 sage: from sage.repl.interpreter import SageTerminalInteractiveShell 258 sage: SageTerminalInteractiveShell().init_display_formatter() # not tested 259 """ --> 260 from sage.repl.rich_output.backend_ipython import BackendIPythonCommandline global sage.repl.rich_output.backend_ipython = undefined BackendIPythonCommandline = undefined 261 backend = BackendIPythonCommandline() 262 backend.get_display_manager().switch_backend(backend, shell=self) 263 264 265 class SageTestShell(SageShellOverride, TerminalInteractiveShell): 266 """ 267 Test Shell 268 269 Care must be taken in these doctests to quit the test shell in 270 order to switch back the rich output display backend to the 271 doctest backend. 272 273 EXAMPLES:: 274 275 sage: from sage.repl.interpreter import get_test_shell /usr/lib/python2.7/dist-packages/sage/repl/rich_output/__init__.py in () 1 # -*- encoding: utf-8 -*- 2 ----> 3 from .display_manager import get_display_manager global display_manager = undefined global get_display_manager = undefined 4 from .pretty_print import pretty_print 5 6 /usr/lib/python2.7/dist-packages/sage/repl/rich_output/display_manager.py in () 24 The Sage display manager using the doctest backend 25 """ 26 27 #***************************************************************************** 28 # Copyright (C) 2015 Volker Braun 29 # 30 # Distributed under the terms of the GNU General Public License (GPL) 31 # as published by the Free Software Foundation; either version 2 of 32 # the License, or (at your option) any later version. 33 # http://www.gnu.org/licenses/ 34 #***************************************************************************** 35 36 37 import warnings 38 ---> 39 from sage.structure.sage_object import SageObject global sage.structure.sage_object = undefined global SageObject = undefined 40 from sage.repl.rich_output.output_basic import ( 41 OutputPlainText, OutputAsciiArt, OutputUnicodeArt, OutputLatex, 42 ) 43 from sage.repl.rich_output.preferences import DisplayPreferences 44 45 46 class DisplayException(Exception): 47 """ 48 Base exception for all rich output-related exceptions. 49 50 EXAMPLES:: 51 52 sage: from sage.repl.rich_output.display_manager import DisplayException 53 sage: raise DisplayException('foo') 54 Traceback (most recent call last): ImportError: No module named sage_object *************************************************************************** History of session input: