Hi Dima. I installed from package on Mint 19.3. I'm happy to run whatever is needed to help diagnose. For context, I have installed python 2.7.17 and the package pulled sage 8.1. I'm not sure why the packages didn't pull the most up to date. Is there a PPA I need to add?
Best, Lance On Saturday, April 4, 2020 at 9:49:09 PM UTC-5, Dima Pasechnik wrote: > > On Sun, Apr 5, 2020 at 7:44 AM Lance Edward Miller <lem...@uark.edu > <javascript:>> 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 <vbrau...@gmail.com > <javascript:>> > > 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-s...@googlegroups.com <javascript:>. > > 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/defa3f57-b723-42d5-8be9-159ad5aa1d04%40googlegroups.com.