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.

Reply via email to