After install on Linux Mint 19.3, I got the following crash report. Any
help is appreciated.

***************************************************************************

IPython post-mortem report

{'commit_hash': u'b467d487e',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/usr/lib/python2.7/dist-packages/IPython',
 'ipython_version': '5.5.0',
 'os_name': 'posix',
 'platform': 'Linux-5.3.0-40-generic-x86_64-with-LinuxMint-19.3-tricia',
 'sys_executable': '/usr/bin/python',
 'sys_platform': 'linux2',
 'sys_version': '2.7.17 (default, Nov  7 2019, 10:07:09) \n[GCC 7.4.0]'}

***************************************************************************



***************************************************************************

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError                                  Python 2.7.17: /usr/bin/python
                                                   Sat Apr  4 18:39:09 2020
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 <module>()
      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 = <bound method SageTerminalApp.initialize of
<sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>>
     11 app.start()

<decorator-gen-110> in
initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)

/usr/lib/python2.7/dist-packages/traitlets/config/application.pyc in
catch_config_error(method=<function initialize>,
app=<sage.repl.interpreter.SageTerminalApp object>, *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 = <function initialize at 0x7f76806919d0>
        app = <sage.repl.interpreter.SageTerminalApp object at
0x7f76836e7150>
        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=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
    301
    302         return super(TerminalIPythonApp,
self).parse_command_line(argv)
    303
    304     @catch_config_error
    305     def initialize(self, argv=None):
    306         """Do actions after construct, but before starting the
app."""
    307         super(TerminalIPythonApp, self).initialize(argv)
    308         if self.subapp is not None:
    309             # don't bother initializing further, starting subapp
    310             return
    311         # print self.extra_args
    312         if self.extra_args and not self.something_to_run:
    313             self.file_to_run = self.extra_args[0]
    314         self.init_path()
    315         # create the shell
--> 316         self.init_shell()
        self.init_shell = <bound method SageTerminalApp.init_shell of
<sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>>
    317         # and draw the banner
    318         self.init_banner()
    319         # Now a variety of things that happen after the banner is
printed.
    320         self.init_gui_pylab()
    321         self.init_extensions()
    322         self.init_code()
    323
    324     def init_shell(self):
    325         """initialize the InteractiveShell instance"""
    326         # Create an InteractiveShell instance.
    327         # shell.display_banner should always be False for the
terminal
    328         # based app, because we call shell.show_banner() by hand
below
    329         # so the banner shows *before* all extension loading stuff.
    330         self.shell =
self.interactive_shell_class.instance(parent=self,
    331                         profile_dir=self.profile_dir,

/usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in
init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
    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             <sage.repl.interpreter.SageTestShell object at 0x...>
    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/lmiller/.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=<class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
*args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>})
    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 = <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>
        args = ()
        kwargs = {'ipython_dir': u'/home/lmiller/.ipython', 'profile_dir':
<IPython.core.profiledir.ProfileDir object at 0x7f76806b4d50>, 'config':
{'InteractiveShell': {'term_title': True, 'colors': 'LightBG',
'confirm_exit': False, 'prompts_class': <class
'sage.repl.prompts.SagePrompts'>, 'separate_in': '',
'ast_node_interactivity': 'all', 'simple_prompt': False},
'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp':
{'shell_class': <class
'sage.repl.interpreter.SageTerminalInteractiveShell'>, 'display_banner':
False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp':
{'force_interact': True}}, 'parent': <sage.repl.interpreter.SageTerminalApp
object at 0x7f76836e7150>}
    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=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
*args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp
object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>})
    423
    424     def init_alias(self):
    425         # The parent class defines aliases that can be safely used
with any
    426         # frontend.
    427         super(TerminalInteractiveShell, self).init_alias()
    428
    429         # Now define aliases that only make sense on the terminal,
because they
    430         # need direct access to the console in a way that we can't
emulate in
    431         # GUI or web frontend
    432         if os.name == 'posix':
    433             for cmd in ['clear', 'more', 'less', 'man']:
    434                 self.alias_manager.soft_define_alias(cmd, cmd)
    435
    436
    437     def __init__(self, *args, **kwargs):
--> 438         super(TerminalInteractiveShell, self).__init__(*args,
**kwargs)
        global super = undefined
        global TerminalInteractiveShell = <class
'IPython.terminal.interactiveshell.TerminalInteractiveShell'>
        self.__init__ = <bound method SageTerminalInteractiveShell.__init__
of <sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7f76806b4910>>
        args = ()
        kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir object
at 0x7f76806b4d50>, 'config': {'InteractiveShell': {'term_title': True,
'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': <class
'sage.repl.prompts.SagePrompts'>, 'separate_in': '',
'ast_node_interactivity': 'all', 'simple_prompt': False},
'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp':
{'shell_class': <class
'sage.repl.interpreter.SageTerminalInteractiveShell'>, 'display_banner':
False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp':
{'force_interact': True}}, 'ipython_dir': u'/home/lmiller/.ipython',
'parent': <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>}
    439         self.init_prompt_toolkit_cli()
    440         self.init_term_title()
    441         self.keep_running = True
    442
    443         self.debugger_history = InMemoryHistory()
    444
    445     def ask_exit(self):
    446         self.keep_running = False
    447
    448     rl_next_input = None
    449
    450     def pre_prompt(self):
    451         if self.rl_next_input:
    452             # We can't set the buffer here, because it will be
reset just after
    453             # this. Adding a callable to pre_run_callables does
what we need

/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in
__init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
ipython_dir=u'/home/lmiller/.ipython',
profile_dir=<IPython.core.profiledir.ProfileDir object>, user_module=None,
user_ns=None, custom_exceptions=((), None), **kwargs={'config':
{'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp':
{'force_interact': True}}, 'parent': <sage.repl.interpreter.SageTerminalApp
object>})
    488         self.init_builtins()
    489
    490         # The following was in post_config_initialization
    491         self.init_inspector()
    492         if py3compat.PY3:
    493             self.raw_input_original = input
    494         else:
    495             self.raw_input_original = raw_input
    496         self.init_completer()
    497         # TODO: init_io() needs to happen before init_traceback
handlers
    498         # because the traceback handlers hardcode the stdout/stderr
streams.
    499         # This logic in in debugger.Pdb and should eventually be
changed.
    500         self.init_io()
    501         self.init_traceback_handlers(custom_exceptions)
    502         self.init_prompts()
--> 503         self.init_display_formatter()
        self.init_display_formatter = <bound method
SageTerminalInteractiveShell.init_display_formatter of
<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7f76806b4910>>
    504         self.init_display_pub()
    505         self.init_data_pub()
    506         self.init_displayhook()
    507         self.init_magics()
    508         self.init_alias()
    509         self.init_logstart()
    510         self.init_pdb()
    511         self.init_extension_manager()
    512         self.init_payload()
    513         self.init_deprecation_warnings()
    514         self.hooks.late_startup_hook()
    515         self.events.trigger('shell_initialized', self)
    516         atexit.register(self.atexit_operations)
    517
    518     def get_ipython(self):

/usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in
init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
    245
    246         sage: from sage.repl.interpreter import
SageTerminalInteractiveShell
    247         sage: SageTerminalInteractiveShell()   # not tested
    248         <sage.repl.interpreter.SageNotebookInteractiveShell object
at 0x...>
    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
<module>()
      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 <module>()
     24     The Sage display manager using the doctest backend
     25 """
     26
     27
#*****************************************************************************
     28 #       Copyright (C) 2015 Volker Braun <vbraun.n...@gmail.com>
     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

***************************************************************************

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/CAPEqHYnjo432OyGqYztMZAXwew8KVaK72ZYYZL9e2ed%3DfZJoFw%40mail.gmail.com.

Reply via email to