On Wed, Apr 8, 2020 at 11:05 AM hbetx9 <lance.e.mil...@gmail.com> wrote:

>     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?
>

my understanding is that MInt 19 by default follows Ubunu 18.04 (which
indeed has Sage 8.1).
We'd recommend you to build Sage (say, the latest stable version, 9.0)
from source instead.
While latest Ubuntu does have Sage 9.0, I don't know how to get it
installed on your Mint, from PPA or otherwise.
Perhaps you can ask on a Mint forum.

HTH
Dima


> 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> 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>
>> >      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.
>> > 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.

-- 
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/CAAWYfq1HeMjbgmDJUGUfg3Kf6N%3D%3D6CsVoXH85Uu0E3RacRR06A%40mail.gmail.com.

Reply via email to