On Sun, Apr 5, 2020 at 7:44 AM Lance Edward Miller <lem...@uark.edu> wrote: > > After install on Linux Mint 19.3, I got the following crash report. Any help > is appreciated.
What exactly have you installed? A binary installation, or done a build from sources? > > *************************************************************************** > > 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. -- 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/CAAWYfq1BiwSj33sVAMpa8mSE%3DRiOsEVjO9B1G20gwWnZ_f-Buw%40mail.gmail.com.