*************************************************************************** IPython post-mortem report {'commit_hash': u'5c9c918', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/usr/lib64/sagemath/site-packages/IPython', 'ipython_version': '5.1.0', 'os_name': 'posix', 'platform': 'Linux-4.11.10-300.fc26.x86_64-x86_64-with-fedora-26-Twenty_Six', 'sys_executable': '/usr/lib64/sagemath/local/bin/python', 'sys_platform': 'linux2', 'sys_version': '2.7.13 (default, Jun 26 2017, 10:20:05) \n[GCC 7.1.1 20170622 (Red Hat 7.1.1-3)]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 2.7.13: /usr/lib64/sagemath/local/bin/python Tue Jul 18 19:12:59 2017 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/lib64/sagemath/local/bin/sage-ipython in () 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 = > 11 app.start() in initialize(self=, argv=None) /usr/lib/python2.7/site-packages/traitlets/config/application.pyc 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/lib64/sagemath/site-packages/IPython/terminal/ipapp.pyc in initialize(self=, argv=None) 294 295 return super(TerminalIPythonApp, self).parse_command_line(argv) 296 297 @catch_config_error 298 def initialize(self, argv=None): 299 """Do actions after construct, but before starting the app.""" 300 super(TerminalIPythonApp, self).initialize(argv) 301 if self.subapp is not None: 302 # don't bother initializing further, starting subapp 303 return 304 # print self.extra_args 305 if self.extra_args and not self.something_to_run: 306 self.file_to_run = self.extra_args[0] 307 self.init_path() 308 # create the shell --> 309 self.init_shell() self.init_shell = > 310 # and draw the banner 311 self.init_banner() 312 # Now a variety of things that happen after the banner is printed. 313 self.init_gui_pylab() 314 self.init_extensions() 315 self.init_code() 316 317 def init_shell(self): 318 """initialize the InteractiveShell instance""" 319 # Create an InteractiveShell instance. 320 # shell.display_banner should always be False for the terminal 321 # based app, because we call shell.show_banner() by hand below 322 # so the banner shows *before* all extension loading stuff. 323 self.shell = TerminalInteractiveShell.instance(parent=self, 324 profile_dir=self.profile_dir, /usr/lib64/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(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 761 # something is wrong with the sage library --> 762 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = > global SAGE_EXTENSION = 'sage' 763 764 /usr/lib64/sagemath/site-packages/IPython/core/extensions.pyc in load_extension(self=, module_str='sage') 70 71 Returns the string "already loaded" if the extension is already loaded, 72 "no load function" if the module doesn't have a load_ipython_extension 73 function, or None if it succeeded. 74 """ 75 if module_str in self.loaded: 76 return "already loaded" 77 78 from IPython.utils.syspathcontext import prepended_to_syspath 79 80 with self.shell.builtin_trap: 81 if module_str not in sys.modules: 82 with prepended_to_syspath(self.ipython_extension_dir): 83 __import__(module_str) 84 mod = sys.modules[module_str] ---> 85 if self._call_load_ipython_extension(mod): self._call_load_ipython_extension = > mod = 86 self.loaded.add(module_str) 87 else: 88 return "no load function" 89 90 def unload_extension(self, module_str): 91 """Unload an IPython extension by its module name. 92 93 This function looks up the extension's name in ``sys.modules`` and 94 simply calls ``mod.unload_ipython_extension(self)``. 95 96 Returns the string "no unload function" if the extension doesn't define 97 a function to unload itself, "not loaded" if the extension isn't loaded, 98 otherwise None. 99 """ 100 if module_str not in self.loaded: /usr/lib64/sagemath/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=, mod=) 117 """ 118 from IPython.utils.syspathcontext import prepended_to_syspath 119 120 if (module_str in self.loaded) and (module_str in sys.modules): 121 self.unload_extension(module_str) 122 mod = sys.modules[module_str] 123 with prepended_to_syspath(self.ipython_extension_dir): 124 reload(mod) 125 if self._call_load_ipython_extension(mod): 126 self.loaded.add(module_str) 127 else: 128 self.load_extension(module_str) 129 130 def _call_load_ipython_extension(self, mod): 131 if hasattr(mod, 'load_ipython_extension'): --> 132 mod.load_ipython_extension(self.shell) mod.load_ipython_extension = self.shell = 133 return True 134 135 def _call_unload_ipython_extension(self, mod): 136 if hasattr(mod, 'unload_ipython_extension'): 137 mod.unload_ipython_extension(self.shell) 138 return True 139 140 def install_extension(self, url, filename=None): 141 """Download and install an IPython extension. 142 143 If filename is given, the file will be so named (inside the extension 144 directory). Otherwise, the name from the URL will be used. The file must 145 have a .py or .zip extension; otherwise, a ValueError will be raised. 146 147 Returns the full path to the installed file. /usr/lib64/python2.7/site-packages/sage/__init__.pyc in load_ipython_extension(*args=(,)) 1 __all__ = ['all'] 2 3 # IPython calls this when starting up 4 def load_ipython_extension(*args): 5 import sage.repl.ipython_extension ----> 6 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = args = (,) /usr/lib64/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(,), **kwargs={}) 490 ....: if work: 491 ....: return 'foo worked' 492 ....: raise RuntimeError("foo didn't work") 493 sage: foo(False) 494 Traceback (most recent call last): 495 ... 496 RuntimeError: foo didn't work 497 sage: foo(True) 498 'foo worked' 499 sage: foo(False) 500 sage: foo(True) 501 """ 502 @wraps(func) 503 def wrapper(*args, **kwargs): 504 if not wrapper.has_run: --> 505 result = func(*args, **kwargs) result = undefined global func = undefined args = (,) kwargs = {} 506 wrapper.has_run = True 507 return result 508 wrapper.has_run = False 509 return wrapper 510 511 512 @run_once 513 def load_ipython_extension(ip): 514 """ 515 Load the extension in IPython. 516 """ 517 # this modifies ip 518 SageCustomizations(shell=ip) /usr/lib64/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=) 503 def wrapper(*args, **kwargs): 504 if not wrapper.has_run: 505 result = func(*args, **kwargs) 506 wrapper.has_run = True 507 return result 508 wrapper.has_run = False 509 return wrapper 510 511 512 @run_once 513 def load_ipython_extension(ip): 514 """ 515 Load the extension in IPython. 516 """ 517 # this modifies ip --> 518 SageCustomizations(shell=ip) global SageCustomizations = global shell = undefined ip = /usr/lib64/python2.7/site-packages/sage/repl/ipython_extension.pyc in __init__(self=, shell=) 361 def __init__(self, shell=None): 362 """ 363 Initialize the Sage plugin. 364 """ 365 self.shell = shell 366 367 self.auto_magics = SageMagics(shell) 368 self.shell.register_magics(self.auto_magics) 369 370 import sage.misc.edit_module as edit_module 371 self.shell.set_hook('editor', edit_module.edit_devel) 372 373 self.init_inspector() 374 self.init_line_transforms() 375 --> 376 import sage.all # until sage's import hell is fixed sage.all = undefined 377 378 self.shell.verbose_quit = True 379 self.set_quit_hook() 380 381 self.register_interface_magics() 382 383 if SAGE_IMPORTALL == 'yes': 384 self.init_environment() 385 386 def register_interface_magics(self): 387 """ 388 Register magics for each of the Sage interfaces 389 """ 390 from sage.repl.interface_magic import InterfaceMagic 391 InterfaceMagic.register_all(self.shell) /usr/lib64/python2.7/site-packages/sage/all.py in () 77 78 # Add SAGE_SRC at the end of sys.path to enable Cython tracebacks 79 # (which use paths relative to SAGE_SRC) 80 sys.path.append(SAGE_SRC) 81 82 83 ################################################################### 84 85 # This import also setups the interrupt handler 86 from cysignals.signals import (AlarmInterrupt, SignalError, 87 sig_on_reset as sig_on_count) 88 89 from time import sleep 90 91 import sage.misc.lazy_import ---> 92 from sage.misc.all import * # takes a while global sage.misc.all = undefined 93 from sage.typeset.all import * 94 from sage.repl.all import * 95 96 from sage.misc.sh import sh 97 98 from sage.libs.all import * 99 from sage.data_structures.all import * 100 from sage.doctest.all import * 101 102 from sage.structure.all import * 103 from sage.rings.all import * 104 from sage.arith.all import * 105 from sage.matrix.all import * 106 107 from sage.symbolic.all import * /usr/lib64/python2.7/site-packages/sage/misc/all.py in () 73 74 from .defaults import (set_default_variable_name, 75 series_precision, set_series_precision) 76 77 from .sage_eval import sage_eval, sageobj 78 79 from .sage_input import sage_input 80 81 lazy_import("sage.misc.cython", ["cython_lambda", "cython_create_local_so"]) 82 lazy_import("sage.misc.cython_c", "cython_compile", "cython") 83 84 from .persist import save, load, dumps, loads, db, db_save 85 86 from .func_persist import func_persist 87 ---> 88 from .functional import (additive_order, global functional = undefined global additive_order = undefined global base_ring = undefined global base_field = undefined global basis = undefined global category = undefined global charpoly = undefined global characteristic_polynomial = undefined global coerce = undefined global cyclotomic_polynomial = undefined global decomposition = undefined global denominator = undefined global det = undefined global dimension = undefined global dim = undefined global discriminant = undefined global disc = undefined global eta = undefined global fcp = undefined global gen = undefined global gens = undefined global hecke_operator = undefined global image = undefined global integral = undefined global integrate = undefined global integral_closure = undefined global interval = undefined global xinterval = undefined global is_commutative = undefined global is_even = undefined global is_integrally_closed = undefined global is_field = undefined global is_odd = undefined global kernel = undefined global krull_dimension = undefined global lift = undefined global log = undefined global log_b = undefined global minimal_polynomial = undefined global minpoly = undefined global multiplicative_order = undefined global ngens = undefined global norm = undefined global numerator = undefined global numerical_approx = undefined global n = undefined global N = undefined global objgens = undefined global objgen = undefined global order = undefined global rank = undefined global regulator = undefined global round = undefined global quotient = undefined global quo = undefined global isqrt = undefined global squarefree_part = undefined global symbolic_sum = undefined global sum = undefined global transpose = undefined 89 base_ring, 90 base_field, 91 basis, 92 category, 93 charpoly, 94 characteristic_polynomial, 95 coerce, 96 cyclotomic_polynomial, 97 decomposition, 98 denominator, 99 det, 100 dimension, 101 dim, 102 discriminant, 103 disc, /usr/lib64/python2.7/site-packages/sage/misc/functional.py in () 17 # 18 # This program is free software: you can redistribute it and/or modify 19 # it under the terms of the GNU General Public License as published by 20 # the Free Software Foundation, either version 2 of the License, or 21 # (at your option) any later version. 22 # http://www.gnu.org/licenses/ 23 #***************************************************************************** 24 from __future__ import absolute_import 25 from six.moves import range 26 from six.moves import builtins 27 28 import sage.misc.latex 29 import sage.interfaces.expect 30 import sage.interfaces.mathematica 31 ---> 32 from sage.rings.complex_double import CDF global sage.rings.complex_double = undefined global CDF = undefined 33 from sage.rings.real_double import RDF, RealDoubleElement 34 35 import sage.rings.real_mpfr 36 import sage.rings.complex_field 37 import sage.rings.integer 38 39 ############################################################################## 40 # There are many functions on elements of a ring, which mathematicians 41 # usually write f(x), e.g., it is weird to write x.log() and natural 42 # to write log(x). The functions below allow for the more familiar syntax. 43 ############################################################################## 44 def additive_order(x): 45 """ 46 Returns the additive order of `x`. 47 /usr/lib64/python2.7/site-packages/sage/rings/integer.pxd in init sage.rings.complex_double (/builddir/build/BUILD/sage-7.6/src/build/cythonized/sage/rings/complex_double.c:23816)() 1 from sage.libs.gmp.types cimport mpz_t, mpz_ptr 2 from sage.libs.ntl.types cimport ZZ_c 3 4 from sage.structure.element cimport EuclideanDomainElement, RingElement 5 from sage.categories.morphism cimport Morphism 6 ----> 7 cdef class Integer(EuclideanDomainElement): global cdef = undefined global Integer = undefined global EuclideanDomainElement = undefined 8 cdef mpz_t value 9 10 cdef int _to_ZZ(self, ZZ_c *z) except -1 11 cdef void set_from_mpz(self, mpz_t value) 12 cdef hash_c(self) 13 14 cpdef _pari_(self) 15 16 cpdef _shift_helper(Integer self, y, int sign) 17 cdef _and(Integer self, Integer other) 18 cdef _or(Integer self, Integer other) 19 cdef _xor(Integer self, Integer other) 20 21 cpdef size_t _exact_log_log2_iter(self,Integer m) 22 cpdef size_t _exact_log_mpfi_log(self,m) 23 cpdef RingElement _valuation(Integer self, Integer p) 24 cdef object _val_unit(Integer self, Integer p) 25 cdef Integer _divide_knowing_divisible_by(Integer self, Integer right) 26 cdef bint _is_power_of(Integer self, Integer n) 27 28 cdef bint _pseudoprime_is_prime(self, proof) except -1 29 cpdef list _pari_divisors_small(self) 30 31 cdef _reduce_set(self, s) # do not use, since integers are immutable. /usr/lib64/python2.7/site-packages/sage/rings/rational.pxd in init sage.rings.integer (/builddir/build/BUILD/sage-7.6/src/build/cythonized/sage/rings/integer.c:50835)() 1 from sage.libs.gmp.types cimport mpq_t 2 3 cimport sage.structure.element 4 cimport sage.rings.integer as integer 5 6 cpdef rational_power_parts(a, b, factor_limit=?) 7 ----> 8 cdef class Rational(sage.structure.element.FieldElement): global cdef = undefined global Rational = undefined global sage.structure.element.FieldElement = undefined 9 cdef mpq_t value 10 11 cdef __set_value(self, x, unsigned int base) 12 cdef void set_from_mpq(Rational self, mpq_t value) 13 cdef _lshift(self, long int exp) 14 cdef _rshift(self, long int exp) 15 16 cdef _val_unit(self, integer.Integer p) /usr/lib64/python2.7/site-packages/sage/rings/fast_arith.pxd in init sage.rings.rational (/builddir/build/BUILD/sage-7.6/src/build/cythonized/sage/rings/rational.c:40371)() 1 cpdef prime_range(start, stop=*, algorithm=*, bint py_ints=*) 2 ----> 3 cdef class arith_int: global cdef = undefined global arith_int = undefined 4 cdef int abs_int(self, int x) except -1 5 cdef int sign_int(self, int n) except -2 6 cdef int c_gcd_int(self, int a, int b) except -1 7 cdef int c_xgcd_int(self, int a, int b, int* ss, int* tt) except -1 8 cdef int c_inverse_mod_int(self, int a, int m) except -1 9 cdef int c_rational_recon_int(self, int a, int m, int* n, int* d) except -1 10 11 cdef class arith_llong: 12 cdef long long abs_longlong(self, long long x) except -1 13 cdef long long sign_longlong(self, long long n) except -2 14 cdef long long c_gcd_longlong(self, long long a, long long b) except -1 15 cdef public long long c_xgcd_longlong(self, long long a, long long b, 16 long long *ss, 17 long long *tt) except -1 18 cdef long long c_inverse_mod_longlong(self, long long a, long long m) except -1 19 cdef long long c_rational_recon_longlong(self, long long a, long long m, 20 long long *n, long long *d) except -1 /usr/lib64/python2.7/site-packages/sage/rings/fast_arith.pyx in init sage.rings.fast_arith (/builddir/build/BUILD/sage-7.6/src/build/cythonized/sage/rings/fast_arith.c:8710)() 34 # * c_inverse_mod_int -- inverse of an int modulo another int 35 # * c_rational_recon_int -- rational reconstruction of ints 36 # * rational_recon_int -- export of rational reconstruction for ints 37 # 38 # The long long functions are the same, except they end in _longlong. 39 # 40 ################################################################### 41 42 # The int definitions 43 44 from sage.ext.stdsage cimport PY_NEW 45 include "sage/ext/cdefs.pxi" 46 47 from sage.libs.cypari2.paridecl cimport * 48 from sage.libs.cypari2.gen cimport Gen as pari_gen ---> 49 from sage.libs.pari.all import pari global sage.libs.pari.all = undefined global pari = undefined 50 from sage.rings.integer cimport Integer 51 52 cpdef prime_range(start, stop=None, algorithm="pari_primes", bint py_ints=False): 53 r""" 54 List of all primes between start and stop-1, inclusive. If the 55 second argument is omitted, returns the primes up to the first 56 argument. 57 58 This function is closely related to (and can use) the primes iterator. 59 Use algorithm "pari_primes" when both start and stop are not too large, 60 since in all cases this function makes a table of primes up to 61 stop. If both are large, use algorithm "pari_isprime" instead. 62 63 Algorithm "pari_primes" is faster for most input, but crashes for larger input. 64 Algorithm "pari_isprime" is slower but will work for much larger input. /usr/lib64/python2.7/site-packages/sage/libs/pari/__init__.py in () 191 # too fragile) 192 # 193 # The underlying issue is fixed in Cygwin v2.5.2 194 sizemax = min(sizemax, 0xf0000000) 195 196 from sage.libs.cypari2 import Pari 197 P = Pari(1000000, sizemax) 198 199 # pari_init_opts() overrides MPIR's memory allocation functions, 200 # so we need to reset them. 201 from sage.ext.memory import init_memory_functions 202 init_memory_functions() 203 204 return P 205 --> 206 pari = _get_pari_instance() global pari = undefined global _get_pari_instance = None /usr/lib64/python2.7/site-packages/sage/libs/pari/__init__.py in _get_pari_instance() 169 3.60546360143265208591582056420772677481026899659802474544 170 171 """ 172 173 def _get_pari_instance(): 174 # There are two constraints for the virtual stack size: 175 # 1) on 32-bit systems, even virtual memory can be a scarce 176 # resource since it is limited by 4GB (of which the kernel 177 # needs a significant part) 178 # 2) the system should actually be able to handle a stack size 179 # as large as the complete virtual stack. 180 # As a simple heuristic, we set the virtual stack to 1/4 of the 181 # virtual memory. 182 from sage.misc.getusage import virtual_memory_limit 183 --> 184 sizemax = virtual_memory_limit() // 4 sizemax = undefined virtual_memory_limit = 185 186 from sage.env import CYGWIN_VERSION 187 if CYGWIN_VERSION and CYGWIN_VERSION < (2, 5, 2): 188 # Cygwin's mmap is broken for large NORESERVE mmaps (>~ 4GB) See 189 # http://trac.sagemath.org/ticket/20463 So we set the max stack 190 # size to a little below 4GB (putting it right on the margin proves 191 # too fragile) 192 # 193 # The underlying issue is fixed in Cygwin v2.5.2 194 sizemax = min(sizemax, 0xf0000000) 195 196 from sage.libs.cypari2 import Pari 197 P = Pari(1000000, sizemax) 198 199 # pari_init_opts() overrides MPIR's memory allocation functions, /usr/lib64/python2.7/site-packages/sage/misc/getusage.pyc in virtual_memory_limit() 64 65 EXAMPLES:: 66 67 sage: from sage.misc.getusage import virtual_memory_limit 68 sage: virtual_memory_limit() > 0 69 True 70 sage: virtual_memory_limit() <= sys.maxsize 71 True 72 """ 73 import resource 74 try: 75 vmax = resource.getrlimit(resource.RLIMIT_AS)[0] 76 except resource.error: 77 vmax = resource.RLIM_INFINITY 78 if vmax == resource.RLIM_INFINITY: ---> 79 import psutil psutil = undefined 80 vmax = psutil.virtual_memory().total + psutil.swap_memory().total 81 return min(vmax, sys.maxsize) 82 83 84 ######################################################################## 85 # Old deprecated stuff below 86 ######################################################################## 87 88 def top(): 89 """ 90 Return the 'top' or 'prstat' line that contains this running Sage 91 process. 92 For FreeBSD, return the line containing this running Sage process from 93 'ps -axwww -o pid,user,vsz,rss,state,pri,nice,time,cpu,comm'. 94 ImportError: No module named psutil *************************************************************************** History of session input: *** Last line of input (may not be in above history):