*************************************************************************** IPython post-mortem report {'commit_hash': '', 'commit_source': '(none found)', 'default_encoding': 'utf-8', 'ipython_path': '/usr/lib/python3/dist-packages/IPython', 'ipython_version': '7.13.0', 'os_name': 'posix', 'platform': 'Linux-5.4.0-89-generic-x86_64-with-glibc2.29', 'sys_executable': '/usr/bin/python3', 'sys_platform': 'linux', 'sys_version': '3.8.10 (default, Sep 28 2021, 16:10:42) \n[GCC 9.3.0]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 3.8.10: /usr/bin/python3 Thu Oct 28 14:05:39 2021 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 1 #!/usr/bin/env sage-python 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 7 # Display startup banner. Do this before anything else to give the user 8 # early feedback that Sage is starting. 9 from sage.misc.banner import banner 10 banner() 11 12 from sage.repl.interpreter import SageTerminalApp 13 14 app = SageTerminalApp.instance() ---> 15 app.initialize() global app.initialize = > 16 app.start() in initialize(self=, argv=None) /usr/lib/python3/dist-packages/traitlets/config/application.py in catch_config_error(method=, app=, *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 = app = 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/python3/dist-packages/IPython/terminal/ipapp.py in initialize(self=, argv=None) 302 303 return super(TerminalIPythonApp, self).parse_command_line(argv) 304 305 @catch_config_error 306 def initialize(self, argv=None): 307 """Do actions after construct, but before starting the app.""" 308 super(TerminalIPythonApp, self).initialize(argv) 309 if self.subapp is not None: 310 # don't bother initializing further, starting subapp 311 return 312 # print self.extra_args 313 if self.extra_args and not self.something_to_run: 314 self.file_to_run = self.extra_args[0] 315 self.init_path() 316 # create the shell --> 317 self.init_shell() self.init_shell = > 318 # and draw the banner 319 self.init_banner() 320 # Now a variety of things that happen after the banner is printed. 321 self.init_gui_pylab() 322 self.init_extensions() 323 self.init_code() 324 325 def init_shell(self): 326 """initialize the InteractiveShell instance""" 327 # Create an InteractiveShell instance. 328 # shell.display_banner should always be False for the terminal 329 # based app, because we call shell.show_banner() by hand below 330 # so the banner shows *before* all extension loading stuff. 331 self.shell = self.interactive_shell_class.instance(parent=self, 332 profile_dir=self.profile_dir, /usr/lib/python3/dist-packages/sage/repl/interpreter.py in init_shell(self=) 727 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 728 729 # Load the %lprun extension if available 730 try: 731 import line_profiler 732 except ImportError: 733 pass 734 else: 735 self.extensions.append('line_profiler') 736 737 if self.shell.has_sage_extensions: 738 self.extensions.remove(SAGE_EXTENSION) 739 740 # load sage extension here to get a crash if 741 # something is wrong with the sage library --> 742 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = > global SAGE_EXTENSION = 'sage' 743 744 /usr/lib/python3/dist-packages/IPython/core/extensions.py in load_extension(self=, module_str='sage') 72 if module_str in self.loaded: 73 return "already loaded" 74 75 from IPython.utils.syspathcontext import prepended_to_syspath 76 77 with self.shell.builtin_trap: 78 if module_str not in sys.modules: 79 with prepended_to_syspath(self.ipython_extension_dir): 80 mod = import_module(module_str) 81 if mod.__file__.startswith(self.ipython_extension_dir): 82 print(("Loading extensions from {dir} is deprecated. " 83 "We recommend managing extensions like any " 84 "other Python packages, in site-packages.").format( 85 dir=compress_user(self.ipython_extension_dir))) 86 mod = sys.modules[module_str] ---> 87 if self._call_load_ipython_extension(mod): self._call_load_ipython_extension = > mod = 88 self.loaded.add(module_str) 89 else: 90 return "no load function" 91 92 def unload_extension(self, module_str): 93 """Unload an IPython extension by its module name. 94 95 This function looks up the extension's name in ``sys.modules`` and 96 simply calls ``mod.unload_ipython_extension(self)``. 97 98 Returns the string "no unload function" if the extension doesn't define 99 a function to unload itself, "not loaded" if the extension isn't loaded, 100 otherwise None. 101 """ 102 if module_str not in self.loaded: /usr/lib/python3/dist-packages/IPython/core/extensions.py in _call_load_ipython_extension(self=, mod=) 119 """ 120 from IPython.utils.syspathcontext import prepended_to_syspath 121 122 if (module_str in self.loaded) and (module_str in sys.modules): 123 self.unload_extension(module_str) 124 mod = sys.modules[module_str] 125 with prepended_to_syspath(self.ipython_extension_dir): 126 reload(mod) 127 if self._call_load_ipython_extension(mod): 128 self.loaded.add(module_str) 129 else: 130 self.load_extension(module_str) 131 132 def _call_load_ipython_extension(self, mod): 133 if hasattr(mod, 'load_ipython_extension'): --> 134 mod.load_ipython_extension(self.shell) mod.load_ipython_extension = self.shell = 135 return True 136 137 def _call_unload_ipython_extension(self, mod): 138 if hasattr(mod, 'unload_ipython_extension'): 139 mod.unload_ipython_extension(self.shell) 140 return True 141 142 @undoc 143 def install_extension(self, url, filename=None): 144 """ 145 Deprecated. 146 """ 147 # Ensure the extension directory exists 148 raise DeprecationWarning( 149 '`install_extension` and the `install_ext` magic have been deprecated since IPython 4.0' /usr/lib/python3/dist-packages/sage/__init__.py in load_ipython_extension(*args=(,)) 1 __all__ = ['all'] 2 3 # Set sage.__version__ to the current version number. This is analogous 4 # to many other Python packages. 5 from sage.version import version as __version__ 6 7 # Make sure that the correct zlib library is loaded. This is needed 8 # to prevent the system zlib to be loaded instead of the Sage one. 9 # See https://trac.sagemath.org/ticket/23122 10 import zlib 11 12 # IPython calls this when starting up 13 def load_ipython_extension(*args): 14 import sage.repl.ipython_extension ---> 15 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = args = (,) 16 17 18 # Monkey-patch inspect.isfunction() to support Cython functions. 19 def isfunction(obj): 20 """ 21 Check whether something is a function. 22 23 We assume that anything which has a genuine ``__code__`` 24 attribute (not using ``__getattr__`` overrides) is a function. 25 This is meant to support Cython functions. 26 27 EXAMPLES:: 28 29 sage: from inspect import isfunction 30 sage: def f(): pass 31 sage: isfunction(f) /usr/lib/python3/dist-packages/sage/repl/ipython_extension.py in wrapper(*args=(,), **kwargs={}) 547 ....: if work: 548 ....: return 'foo worked' 549 ....: raise RuntimeError("foo didn't work") 550 sage: foo(False) 551 Traceback (most recent call last): 552 ... 553 RuntimeError: foo didn't work 554 sage: foo(True) 555 'foo worked' 556 sage: foo(False) 557 sage: foo(True) 558 """ 559 @wraps(func) 560 def wrapper(*args, **kwargs): 561 if not wrapper.has_run: --> 562 result = func(*args, **kwargs) result = undefined global func = undefined args = (,) kwargs = {} 563 wrapper.has_run = True 564 return result 565 wrapper.has_run = False 566 return wrapper 567 568 569 @run_once 570 def load_ipython_extension(ip): 571 """ 572 Load the extension in IPython. 573 """ 574 # this modifies ip 575 SageCustomizations(shell=ip) /usr/lib/python3/dist-packages/sage/repl/ipython_extension.py in load_ipython_extension(ip=) 560 def wrapper(*args, **kwargs): 561 if not wrapper.has_run: 562 result = func(*args, **kwargs) 563 wrapper.has_run = True 564 return result 565 wrapper.has_run = False 566 return wrapper 567 568 569 @run_once 570 def load_ipython_extension(ip): 571 """ 572 Load the extension in IPython. 573 """ 574 # this modifies ip --> 575 SageCustomizations(shell=ip) global SageCustomizations = global shell = undefined ip = /usr/lib/python3/dist-packages/sage/repl/ipython_extension.py in __init__(self=, shell=) 420 def __init__(self, shell=None): 421 """ 422 Initialize the Sage plugin. 423 """ 424 self.shell = shell 425 426 self.auto_magics = SageMagics(shell) 427 self.shell.register_magics(self.auto_magics) 428 429 import sage.misc.edit_module as edit_module 430 self.shell.set_hook('editor', edit_module.edit_devel) 431 432 self.init_inspector() 433 self.init_line_transforms() 434 --> 435 import sage.all # until sage's import hell is fixed sage.all = undefined 436 437 self.shell.verbose_quit = True 438 self.set_quit_hook() 439 440 self.register_interface_magics() 441 442 if SAGE_IMPORTALL == 'yes': 443 self.init_environment() 444 445 def register_interface_magics(self): 446 """ 447 Register magics for each of the Sage interfaces 448 """ 449 from sage.repl.interface_magic import InterfaceMagic 450 InterfaceMagic.register_all(self.shell) /usr/lib/python3/dist-packages/sage/all.py in 91 warnings.filterwarnings('ignore', category=RuntimeWarning, 92 message=r"'sin' and 'sout' swap memory stats couldn't be determined") 93 from sage.misc.all import * # takes a while 94 from sage.typeset.all import * 95 from sage.repl.all import * 96 97 from sage.misc.sh import sh 98 99 from sage.libs.all import * 100 from sage.data_structures.all import * 101 from sage.doctest.all import * 102 103 from sage.structure.all import * 104 from sage.rings.all import * 105 from sage.arith.all import * --> 106 from sage.matrix.all import * global sage.matrix.all = undefined 107 108 from sage.symbolic.all import * 109 from sage.modules.all import * 110 from sage.monoids.all import * 111 from sage.algebras.all import * 112 from sage.modular.all import * 113 from sage.sat.all import * 114 from sage.schemes.all import * 115 from sage.graphs.all import * 116 from sage.groups.all import * 117 from sage.arith.power import generic_power as power 118 from sage.databases.all import * 119 from sage.categories.all import * 120 from sage.sets.all import * 121 from sage.probability.all import * /usr/lib/python3/dist-packages/sage/matrix/__init__.py in 1 # Resolve a cyclic import ----> 2 import sage.matrix.args global sage.matrix.args = undefined /usr/lib/python3/dist-packages/sage/matrix/args.pyx in init sage.matrix.args (build/cythonized/sage/matrix/args.c:21273)() 8 # Copyright (C) 2018 Jeroen Demeyer 9 # 10 # This program is free software: you can redistribute it and/or modify 11 # it under the terms of the GNU General Public License as published by 12 # the Free Software Foundation, either version 2 of the License, or 13 # (at your option) any later version. 14 # http://www.gnu.org/licenses/ 15 #***************************************************************************** 16 17 cimport cython 18 from cpython.sequence cimport PySequence_Fast 19 from cysignals.signals cimport sig_check 20 from cypari2.gen cimport Gen 21 from cypari2.types cimport typ, t_MAT, t_VEC, t_COL, t_VECSMALL, t_LIST, t_STR, t_CLOSURE 22 ---> 23 from .matrix_space import MatrixSpace global matrix_space = undefined global MatrixSpace = undefined 24 from sage.rings.all import ZZ, RDF, CDF 25 from sage.structure.coerce cimport (coercion_model, 26 is_numpy_type, py_scalar_parent) 27 from sage.structure.element cimport Element, RingElement, Vector 28 from sage.arith.long cimport pyobject_to_long 29 from sage.misc.misc_c import sized_iter 30 from sage.categories import monoids 31 32 33 CommutativeMonoids = monoids.Monoids().Commutative() 34 35 36 cdef inline bint element_is_scalar(Element x): 37 """ 38 Should this element be considered a scalar (as opposed to a vector)? /usr/lib/python3/dist-packages/sage/matrix/matrix_space.py in 31 # (at your option) any later version. 32 # https://www.gnu.org/licenses/ 33 # **************************************************************************** 34 from __future__ import print_function, absolute_import 35 from six.moves import range 36 from six import iteritems, integer_types 37 38 # System imports 39 import sys 40 import operator 41 42 # Sage matrix imports 43 from . import matrix_generic_dense 44 from . import matrix_generic_sparse 45 ---> 46 from . import matrix_modn_sparse global matrix_modn_sparse = undefined 47 48 from . import matrix_mod2_dense 49 from . import matrix_gf2e_dense 50 51 from . import matrix_integer_dense 52 from . import matrix_integer_sparse 53 54 from . import matrix_rational_dense 55 from . import matrix_rational_sparse 56 57 from . import matrix_polynomial_dense 58 from . import matrix_mpolynomial_dense 59 60 # Sage imports 61 from sage.misc.superseded import deprecation ImportError: /usr/lib/python3/dist-packages/sage/matrix/matrix_modn_sparse.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZNK6Givaro7IntegercvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEB5cxx11Ev *************************************************************************** History of session input: *** Last line of input (may not be in above history):