*************************************************************************** IPython post-mortem report {'commit_hash': 'd0b255042', 'commit_source': 'installation', 'default_encoding': 'utf-8', 'ipython_path': '/home/mathieu/opt/SageMath/local/lib/python3.8/site-packages/IPython', 'ipython_version': '7.13.0', 'os_name': 'posix', 'platform': 'Linux-5.8.0-38-generic-x86_64-with-glibc2.2.5', 'sys_executable': '/home/mathieu/opt/SageMath/local/bin/python3', 'sys_platform': 'linux', 'sys_version': '3.8.5 (default, Oct 25 2020, 14:39:21) \n[GCC 9.2.0]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 3.8.5: /home/mathieu/opt/SageMath/local/bin/python3 Sun Jan 24 17:19:52 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. ~/opt/SageMath/src/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) ~/opt/SageMath/local/lib/python3.8/site-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 ~/opt/SageMath/local/lib/python3.8/site-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, ~/opt/SageMath/local/lib/python3.8/site-packages/sage/repl/interpreter.py in init_shell(self=) 776 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 777 778 # Load the %lprun extension if available 779 try: 780 import line_profiler 781 except ImportError: 782 pass 783 else: 784 self.extensions.append('line_profiler') 785 786 if self.shell.has_sage_extensions: 787 self.extensions.remove(SAGE_EXTENSION) 788 789 # load sage extension here to get a crash if 790 # something is wrong with the sage library --> 791 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = > global SAGE_EXTENSION = 'sage' 792 793 ~/opt/SageMath/local/lib/python3.8/site-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: ~/opt/SageMath/local/lib/python3.8/site-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' ~/opt/SageMath/local/lib/python3.8/site-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 import sys 8 # Make sure that the correct zlib library is loaded. This is needed 9 # to prevent the system zlib to be loaded instead of the Sage one. 10 # See https://trac.sagemath.org/ticket/23122 11 import zlib 12 13 # IPython calls this when starting up 14 def load_ipython_extension(*args): 15 import sage.repl.ipython_extension ---> 16 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = args = (,) 17 18 19 # Monkey-patch inspect.isfunction() to support Cython functions. 20 def isfunction(obj): 21 """ 22 Check whether something is a function. 23 24 We assume that anything which has a genuine ``__code__`` 25 attribute (not using ``__getattr__`` overrides) is a function. 26 This is meant to support Cython functions. 27 28 EXAMPLES:: 29 30 sage: from inspect import isfunction 31 sage: def f(): pass ~/opt/SageMath/local/lib/python3.8/site-packages/sage/repl/ipython_extension.py in wrapper(*args=(,), **kwargs={}) 548 ....: if work: 549 ....: return 'foo worked' 550 ....: raise RuntimeError("foo didn't work") 551 sage: foo(False) 552 Traceback (most recent call last): 553 ... 554 RuntimeError: foo didn't work 555 sage: foo(True) 556 'foo worked' 557 sage: foo(False) 558 sage: foo(True) 559 """ 560 @wraps(func) 561 def wrapper(*args, **kwargs): 562 if not wrapper.has_run: --> 563 result = func(*args, **kwargs) result = undefined global func = undefined args = (,) kwargs = {} 564 wrapper.has_run = True 565 return result 566 wrapper.has_run = False 567 return wrapper 568 569 570 @run_once 571 def load_ipython_extension(ip): 572 """ 573 Load the extension in IPython. 574 """ 575 # this modifies ip 576 SageCustomizations(shell=ip) ~/opt/SageMath/local/lib/python3.8/site-packages/sage/repl/ipython_extension.py in load_ipython_extension(ip=) 561 def wrapper(*args, **kwargs): 562 if not wrapper.has_run: 563 result = func(*args, **kwargs) 564 wrapper.has_run = True 565 return result 566 wrapper.has_run = False 567 return wrapper 568 569 570 @run_once 571 def load_ipython_extension(ip): 572 """ 573 Load the extension in IPython. 574 """ 575 # this modifies ip --> 576 SageCustomizations(shell=ip) global SageCustomizations = global shell = undefined ip = ~/opt/SageMath/local/lib/python3.8/site-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) ~/opt/SageMath/local/lib/python3.8/site-packages/sage/all.py in 123 from functools import reduce # in order to keep reduce in python3 124 125 import sage.misc.lazy_import 126 127 from sage.misc.all import * # takes a while 128 from sage.typeset.all import * 129 from sage.repl.all import * 130 131 from sage.misc.sh import sh 132 133 from sage.libs.all import * 134 from sage.data_structures.all import * 135 from sage.doctest.all import * 136 137 from sage.structure.all import * --> 138 from sage.rings.all import * global sage.rings.all = undefined 139 from sage.arith.all import * 140 from sage.matrix.all import * 141 142 from sage.symbolic.all import * 143 from sage.modules.all import * 144 from sage.monoids.all import * 145 from sage.algebras.all import * 146 from sage.modular.all import * 147 from sage.sat.all import * 148 from sage.schemes.all import * 149 from sage.graphs.all import * 150 from sage.groups.all import * 151 from sage.arith.power import generic_power as power 152 from sage.databases.all import * 153 from sage.categories.all import * ~/opt/SageMath/local/lib/python3.8/site-packages/sage/rings/all.py in 68 # Semirings 69 from .semirings.all import * 70 71 # Real numbers 72 from .real_mpfr import (RealField, RR, 73 create_RealNumber as RealNumber) # this is used by the preparser to wrap real literals -- very important. 74 Reals = RealField 75 76 from .real_double import RealDoubleField, RDF, RealDoubleElement 77 78 from .real_lazy import RealLazyField, RLF, ComplexLazyField, CLF 79 80 from sage.rings.real_arb import RealBallField, RBF 81 82 # Polynomial Rings and Polynomial Quotient Rings ---> 83 from .polynomial.all import * global polynomial.all = undefined 84 85 86 # Algebraic numbers 87 from .qqbar import (AlgebraicRealField, AA, 88 AlgebraicReal, 89 AlgebraicField, QQbar, 90 AlgebraicNumber, 91 number_field_elements_from_algebraics) 92 from .universal_cyclotomic_field import UniversalCyclotomicField, E 93 94 # Intervals 95 from .real_mpfi import (RealIntervalField, 96 RIF, 97 RealInterval) 98 ~/opt/SageMath/local/lib/python3.8/site-packages/sage/rings/polynomial/all.py in 27 from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing 28 from sage.rings.polynomial.polynomial_ring import polygen, polygens 29 from sage.rings.polynomial.polynomial_element import Polynomial 30 31 # Multivariate Polynomial Rings 32 from sage.rings.polynomial.term_order import TermOrder 33 from sage.rings.polynomial.multi_polynomial_element import degree_lowest_rational_function 34 35 # Generic convolution 36 from sage.rings.polynomial.convolution import convolution 37 38 # Boolean Polynomial Rings 39 from sage.rings.polynomial.polynomial_ring_constructor import BooleanPolynomialRing_constructor as BooleanPolynomialRing 40 41 # Laurent Polynomial Rings ---> 42 from sage.rings.polynomial.laurent_polynomial_ring import LaurentPolynomialRing global sage.rings.polynomial.laurent_polynomial_ring = undefined global LaurentPolynomialRing = undefined 43 lazy_import('sage.rings.polynomial.omega', 'MacMahonOmega') 44 45 # Infinite Polynomial Rings 46 from sage.rings.polynomial.infinite_polynomial_ring import InfinitePolynomialRing 47 48 # Ore Polynomial Rings 49 lazy_import('sage.rings.polynomial.ore_polynomial_ring', 'OrePolynomialRing') 50 SkewPolynomialRing = OrePolynomialRing 51 52 # Evaluation of cyclotomic polynomials 53 from sage.rings.polynomial.cyclotomic import cyclotomic_value 54 ~/opt/SageMath/local/lib/python3.8/site-packages/sage/rings/polynomial/laurent_polynomial_ring.py in 36 # Vincent Delecroix <20100.delecroix@gmail.com> 37 # 38 # This program is free software: you can redistribute it and/or modify 39 # it under the terms of the GNU General Public License as published by 40 # the Free Software Foundation, either version 2 of the License, or 41 # (at your option) any later version. 42 # https://www.gnu.org/licenses/ 43 # **************************************************************************** 44 from __future__ import absolute_import 45 46 from sage.structure.element import parent 47 from sage.structure.parent import Parent 48 from sage.rings.infinity import infinity 49 from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing 50 from sage.misc.latex import latex ---> 51 from sage.rings.polynomial.laurent_polynomial import LaurentPolynomial_mpair, LaurentPolynomial_univariate global sage.rings.polynomial.laurent_polynomial = undefined global LaurentPolynomial_mpair = undefined global LaurentPolynomial_univariate = undefined 52 from sage.rings.ring import CommutativeRing 53 54 import sage.rings.polynomial.laurent_polynomial_ideal as lp_ideal 55 56 def is_LaurentPolynomialRing(R): 57 """ 58 Returns True if and only if R is a Laurent polynomial ring. 59 60 EXAMPLES:: 61 62 sage: from sage.rings.polynomial.laurent_polynomial_ring import is_LaurentPolynomialRing 63 sage: P = PolynomialRing(QQ,2,'x') 64 sage: is_LaurentPolynomialRing(P) 65 False 66 ~/opt/SageMath/local/lib/python3.8/site-packages/sage/rings/polynomial/laurent_polynomial.pyx in init sage.rings.polynomial.laurent_polynomial (build/cythonized/sage/rings/polynomial/laurent_polynomial.c:40758)() ----> 1 r""" 2 Elements of Laurent polynomial rings 3 """ 4 5 # **************************************************************************** 6 # This program is free software: you can redistribute it and/or modify 7 # it under the terms of the GNU General Public License as published by 8 # the Free Software Foundation, either version 2 of the License, or 9 # (at your option) any later version. 10 # https://www.gnu.org/licenses/ 11 # **************************************************************************** 12 13 from sage.rings.integer cimport Integer 14 from sage.categories.map cimport Map 15 from sage.structure.element import is_Element, coerce_binop 16 from sage.misc.misc import union 17 from sage.structure.factorization import Factorization 18 from sage.misc.derivative import multi_derivative 19 from sage.rings.polynomial.polynomial_element import Polynomial 20 from sage.rings.polynomial.polynomial_ring import is_PolynomialRing 21 from sage.structure.richcmp cimport richcmp, rich_to_bool 22 from sage.matrix.matrix0 cimport Matrix 23 24 cdef class LaurentPolynomial(CommutativeAlgebraElement): 25 """ 26 Base class for Laurent polynomials. 27 """ 28 cdef LaurentPolynomial _new_c(self): 29 """ 30 Return a new Laurent polynomial. 31 ~/opt/SageMath/local/lib/python3.8/site-packages/sage/matrix/__init__.py in 1 # Resolve a cyclic import ----> 2 import sage.matrix.args global sage.matrix.args = undefined ~/opt/SageMath/local/lib/python3.8/site-packages/sage/matrix/args.pyx in init sage.matrix.args (build/cythonized/sage/matrix/args.c:21563)() 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.integer_ring import ZZ 25 from sage.rings.real_double import RDF 26 from sage.rings.complex_double import CDF 27 from sage.structure.coerce cimport (coercion_model, 28 is_numpy_type, py_scalar_parent) 29 from sage.structure.element cimport Element, RingElement, Vector 30 from sage.arith.long cimport pyobject_to_long 31 from sage.misc.misc_c import sized_iter 32 from sage.categories import monoids 33 34 35 CommutativeMonoids = monoids.Monoids().Commutative() 36 37 38 cdef inline bint element_is_scalar(Element x): ~/opt/SageMath/local/lib/python3.8/site-packages/sage/matrix/matrix_space.py in 29 # it under the terms of the GNU General Public License as published by 30 # the Free Software Foundation, either version 2 of the License, or 31 # (at your option) any later version. 32 # https://www.gnu.org/licenses/ 33 # **************************************************************************** 34 from __future__ import print_function, absolute_import 35 36 # System imports 37 import sys 38 import operator 39 40 # Sage matrix imports 41 from . import matrix_generic_dense 42 from . import matrix_generic_sparse 43 ---> 44 from . import matrix_modn_sparse global matrix_modn_sparse = undefined 45 46 from . import matrix_mod2_dense 47 from . import matrix_gf2e_dense 48 49 from . import matrix_integer_dense 50 from . import matrix_integer_sparse 51 52 from . import matrix_rational_dense 53 from . import matrix_rational_sparse 54 55 from . import matrix_polynomial_dense 56 from . import matrix_mpolynomial_dense 57 58 # Sage imports 59 import sage.structure.coerce ImportError: /home/mathieu/opt/SageMath/local/lib/python3.8/site-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):