Hi all, I am using sage on Debian (sid) Sagemath 7.0 was working fine until an upgrade of python to version 3 Then it stop working with an syntax error due to python 3 So I (re)lnked pyhton to python 2.7 but now it crashes for a reason I cannot determine here is the crash report Thanks in advance,
-- 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 post to this group, send email to sage-support@googlegroups.com. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
*************************************************************************** IPython post-mortem report {'commit_hash': u'1961f94', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/home/laurent/sage-7.0/local/lib/python2.7/site-packages/IPython', 'ipython_version': '4.0.0', 'os_name': 'posix', 'platform': 'Linux-4.8.0-2-amd64-x86_64-with-debian-stretch-sid', 'sys_executable': '/home/laurent/sage-7.0/local/bin/python', 'sys_platform': 'linux2', 'sys_version': '2.7.13rc1 (default, Dec 4 2016, 14:12:39) \n[GCC 6.2.1 20161124]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- TypeError Python 2.7.13rc1: /home/laurent/sage-7.0/local/bin/python Wed Dec 14 13:08:03 2016 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. /home/laurent/sage-7.0/src/bin/sage-ipython in <module>() 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 7 # Install extra readline commands before IPython initialization 8 from sage.repl.readline_extra_commands import * 9 10 from sage.repl.interpreter import SageTerminalApp 11 12 app = SageTerminalApp.instance() ---> 13 app.initialize() global app.initialize = <bound method SageTerminalApp.initialize of <sage.repl.interpreter.SageTerminalApp object at 0x7ff82b5b40d0>> 14 app.start() <decorator-gen-111> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) /home/laurent/sage-7.0/local/lib/python2.7/site-packages/traitlets/config/application.pyc in catch_config_error(method=<function initialize>, app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={}) 60 61 #----------------------------------------------------------------------------- 62 # Application class 63 #----------------------------------------------------------------------------- 64 65 @decorator 66 def catch_config_error(method, app, *args, **kwargs): 67 """Method decorator for catching invalid config (Trait/ArgumentErrors) during init. 68 69 On a TraitError (generally caused by bad config), this will print the trait's 70 message, and exit the app. 71 72 For use on init methods, to prevent invoking excepthook on invalid input. 73 """ 74 try: ---> 75 return method(app, *args, **kwargs) method = <function initialize at 0x7ff828527668> app = <sage.repl.interpreter.SageTerminalApp object at 0x7ff82b5b40d0> args = (None,) kwargs = {} 76 except (TraitError, ArgumentError) as e: 77 app.print_help() 78 app.log.fatal("Bad config encountered during initialization:") 79 app.log.fatal(str(e)) 80 app.log.debug("Config at the time: %s", app.config) 81 app.exit(1) 82 83 84 class ApplicationError(Exception): 85 pass 86 87 class LevelFormatter(logging.Formatter): 88 """Formatter with additional `highlevel` record 89 90 This field is empty if log level is less than highlevel_limit, /home/laurent/sage-7.0/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) 299 300 return super(TerminalIPythonApp, self).parse_command_line(argv) 301 302 @catch_config_error 303 def initialize(self, argv=None): 304 """Do actions after construct, but before starting the app.""" 305 super(TerminalIPythonApp, self).initialize(argv) 306 if self.subapp is not None: 307 # don't bother initializing further, starting subapp 308 return 309 # print self.extra_args 310 if self.extra_args and not self.something_to_run: 311 self.file_to_run = self.extra_args[0] 312 self.init_path() 313 # create the shell --> 314 self.init_shell() self.init_shell = <bound method SageTerminalApp.init_shell of <sage.repl.interpreter.SageTerminalApp object at 0x7ff82b5b40d0>> 315 # and draw the banner 316 self.init_banner() 317 # Now a variety of things that happen after the banner is printed. 318 self.init_gui_pylab() 319 self.init_extensions() 320 self.init_code() 321 322 def init_shell(self): 323 """initialize the InteractiveShell instance""" 324 # Create an InteractiveShell instance. 325 # shell.display_banner should always be False for the terminal 326 # based app, because we call shell.show_banner() by hand below 327 # so the banner shows *before* all extension loading stuff. 328 self.shell = TerminalInteractiveShell.instance(parent=self, 329 display_banner=False, profile_dir=self.profile_dir, /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>) 793 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 794 795 # Load the %lprun extension if available 796 try: 797 import line_profiler 798 except ImportError: 799 pass 800 else: 801 self.extensions.append('line_profiler') 802 803 if self.shell.has_sage_extensions: 804 self.extensions.remove(SAGE_EXTENSION) 805 806 # load sage extension here to get a crash if 807 # something is wrong with the sage library --> 808 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x7ff826f68b10>> global SAGE_EXTENSION = 'sage' 809 810 /home/laurent/sage-7.0/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage') 76 77 Returns the string "already loaded" if the extension is already loaded, 78 "no load function" if the module doesn't have a load_ipython_extension 79 function, or None if it succeeded. 80 """ 81 if module_str in self.loaded: 82 return "already loaded" 83 84 from IPython.utils.syspathcontext import prepended_to_syspath 85 86 with self.shell.builtin_trap: 87 if module_str not in sys.modules: 88 with prepended_to_syspath(self.ipython_extension_dir): 89 __import__(module_str) 90 mod = sys.modules[module_str] ---> 91 if self._call_load_ipython_extension(mod): self._call_load_ipython_extension = <bound method ExtensionManager._call_load_ipython_extension of <IPython.core.extensions.ExtensionManager object at 0x7ff826f68b10>> mod = <module 'sage' from '/home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/__init__.pyc'> 92 self.loaded.add(module_str) 93 else: 94 return "no load function" 95 96 def unload_extension(self, module_str): 97 """Unload an IPython extension by its module name. 98 99 This function looks up the extension's name in ``sys.modules`` and 100 simply calls ``mod.unload_ipython_extension(self)``. 101 102 Returns the string "no unload function" if the extension doesn't define 103 a function to unload itself, "not loaded" if the extension isn't loaded, 104 otherwise None. 105 """ 106 if module_str not in self.loaded: /home/laurent/sage-7.0/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/__init__.pyc'>) 123 """ 124 from IPython.utils.syspathcontext import prepended_to_syspath 125 126 if (module_str in self.loaded) and (module_str in sys.modules): 127 self.unload_extension(module_str) 128 mod = sys.modules[module_str] 129 with prepended_to_syspath(self.ipython_extension_dir): 130 reload(mod) 131 if self._call_load_ipython_extension(mod): 132 self.loaded.add(module_str) 133 else: 134 self.load_extension(module_str) 135 136 def _call_load_ipython_extension(self, mod): 137 if hasattr(mod, 'load_ipython_extension'): --> 138 mod.load_ipython_extension(self.shell) mod.load_ipython_extension = <function load_ipython_extension at 0x7ff82b5ad0c8> self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7ff828543750> 139 return True 140 141 def _call_unload_ipython_extension(self, mod): 142 if hasattr(mod, 'unload_ipython_extension'): 143 mod.unload_ipython_extension(self.shell) 144 return True 145 146 def install_extension(self, url, filename=None): 147 """Download and install an IPython extension. 148 149 If filename is given, the file will be so named (inside the extension 150 directory). Otherwise, the name from the URL will be used. The file must 151 have a .py or .zip extension; otherwise, a ValueError will be raised. 152 153 Returns the full path to the installed file. /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/__init__.pyc in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,)) 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 = <function load_ipython_extension at 0x7ff826f17488> args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7ff828543750>,) /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={}) 448 ....: if work: 449 ....: return 'foo worked' 450 ....: raise RuntimeError("foo didn't work") 451 sage: foo(False) 452 Traceback (most recent call last): 453 ... 454 RuntimeError: foo didn't work 455 sage: foo(True) 456 'foo worked' 457 sage: foo(False) 458 sage: foo(True) 459 """ 460 @wraps(func) 461 def wrapper(*args, **kwargs): 462 if not wrapper.has_run: --> 463 result = func(*args, **kwargs) result = undefined global func = undefined args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7ff828543750>,) kwargs = {} 464 wrapper.has_run = True 465 return result 466 wrapper.has_run = False 467 return wrapper 468 469 470 @run_once 471 def load_ipython_extension(ip): 472 """ 473 Load the extension in IPython. 474 """ 475 # this modifies ip 476 SageCustomizations(shell=ip) /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 461 def wrapper(*args, **kwargs): 462 if not wrapper.has_run: 463 result = func(*args, **kwargs) 464 wrapper.has_run = True 465 return result 466 wrapper.has_run = False 467 return wrapper 468 469 470 @run_once 471 def load_ipython_extension(ip): 472 """ 473 Load the extension in IPython. 474 """ 475 # this modifies ip --> 476 SageCustomizations(shell=ip) global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'> global shell = undefined ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7ff828543750> /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 330 """ 331 self.shell = shell 332 333 self.auto_magics = SageMagics(shell) 334 self.shell.register_magics(self.auto_magics) 335 336 import sage.misc.edit_module as edit_module 337 self.shell.set_hook('editor', edit_module.edit_devel) 338 339 self.init_inspector() 340 self.init_line_transforms() 341 342 import inputhook 343 inputhook.install() 344 --> 345 import sage.all # until sage's import hell is fixed sage.all = undefined 346 347 self.shell.verbose_quit = True 348 self.set_quit_hook() 349 350 self.register_interface_magics() 351 352 if SAGE_IMPORTALL == 'yes': 353 self.init_environment() 354 355 356 def register_interface_magics(self): 357 """ 358 Register magics for each of the Sage interfaces 359 """ 360 from sage.misc.superseded import deprecation /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/all.py in <module>() 69 70 from sage.env import SAGE_ROOT, SAGE_DOC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV 71 72 if sys.version_info[:2] < (2, 5): 73 print >>sys.stderr, "Sage requires Python 2.5 or newer" 74 sys.exit(1) 75 76 ################################################################### 77 78 # This import also setups the interrupt handler 79 from sage.ext.interrupt import AlarmInterrupt, SignalError, sig_on_reset as sig_on_count 80 81 from time import sleep 82 83 import sage.misc.lazy_import ---> 84 from sage.misc.all import * # takes a while global sage.misc.all = undefined 85 from sage.typeset.all import * 86 from sage.repl.all import * 87 88 from sage.misc.sh import sh 89 90 from sage.libs.all import * 91 from sage.data_structures.all import * 92 from sage.doctest.all import * 93 try: 94 from sage.dev.all import * 95 except ImportError: 96 pass # dev scripts are disabled 97 98 from sage.structure.all import * 99 from sage.rings.all import * /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/misc/all.py in <module>() 73 series_precision, set_series_precision) 74 75 from sage_eval import sage_eval, sageobj 76 77 from sage_input import sage_input 78 79 from cython import cython_lambda, cython_create_local_so 80 from cython_c import cython_compile as cython 81 lazy_import("sage.misc.cython_c", "cython_compile", "pyrex", deprecation=9552) 82 lazy_import("sage.misc.cython_c", "cython_compile", "sagex", deprecation=9552) 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 one = 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 global zero = 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, /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/misc/functional.py in <module>() 11 12 - David Joyner (2005-12-20): More Examples 13 """ 14 15 #***************************************************************************** 16 # Copyright (C) 2004 William Stein <wst...@gmail.com> 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 25 import sage.misc.latex ---> 26 import sage.interfaces.expect global sage.interfaces.expect = undefined 27 import sage.interfaces.mathematica 28 29 30 from sage.rings.complex_double import CDF 31 from sage.rings.real_double import RDF, RealDoubleElement 32 33 import sage.rings.real_mpfr 34 import sage.rings.complex_field 35 import sage.rings.integer 36 37 import __builtin__ 38 39 LOG_TEN_TWO_PLUS_EPSILON = 3.321928094887363 # a small overestimate of log(10,2) 40 41 ############################################################################## /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/interfaces/expect.py in <module>() 40 #***************************************************************************** 41 42 import os 43 import sys 44 import weakref 45 import time 46 import gc 47 import quit 48 import cleaner 49 import six 50 from random import randrange 51 52 import pexpect 53 from pexpect import ExceptionPexpect 54 from sage.interfaces.sagespawn import SageSpawn ---> 55 from sage.interfaces.interface import (Interface, InterfaceElement, global sage.interfaces.interface = undefined global Interface = undefined global InterfaceElement = undefined global InterfaceFunction = undefined global InterfaceFunctionElement = undefined global AsciiArtString = undefined 56 InterfaceFunction, InterfaceFunctionElement, AsciiArtString) 57 58 from sage.structure.element import RingElement 59 60 from sage.misc.misc import SAGE_TMP_INTERFACE 61 from sage.env import SAGE_EXTCODE, LOCAL_IDENTIFIER 62 from sage.misc.object_multiplexer import Multiplex 63 64 from six import reraise as raise_ 65 66 BAD_SESSION = -2 67 68 # The subprocess is a shared resource. In a multi-threaded 69 # environment, there would have to be a lock to control access to the 70 # subprocess. Fortunately, Sage does not use Python threads. /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/interfaces/interface.py in <module>() 30 # 31 # This code is distributed in the hope that it will be useful, 32 # but WITHOUT ANY WARRANTY; without even the implied warranty of 33 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 34 # General Public License for more details. 35 # 36 # The full text of the GPL is available at: 37 # 38 # http://www.gnu.org/licenses/ 39 #***************************************************************************** 40 41 import operator 42 import six 43 44 from sage.structure.sage_object import SageObject ---> 45 from sage.structure.parent_base import ParentWithBase global sage.structure.parent_base = undefined global ParentWithBase = undefined 46 from sage.structure.element import RingElement, parent 47 48 import sage.misc.sage_eval 49 50 51 class AsciiArtString(str): 52 def __repr__(self): 53 return str(self) 54 55 56 class Interface(ParentWithBase): 57 """ 58 Interface interface object. 59 """ 60 def __init__(self, name): sage/structure/parent_base.pyx in init sage.structure.parent_base (/home/laurent/sage-7.0/src/build/cythonized/sage/structure/parent_base.c:3476)() sage/structure/parent_old.pyx in init sage.structure.parent_old (/home/laurent/sage-7.0/src/build/cythonized/sage/structure/parent_old.c:9608)() sage/structure/parent.pyx in init sage.structure.parent (/home/laurent/sage-7.0/src/build/cythonized/sage/structure/parent.c:31329)() sage/structure/category_object.pyx in init sage.structure.category_object (/home/laurent/sage-7.0/src/build/cythonized/sage/structure/category_object.c:13329)() /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/categories/category.py in <module>() 90 # Copyright (C) 2005 David Kohel <ko...@maths.usyd.edu> and 91 # William Stein <wst...@math.ucsd.edu> 92 # 2008-2014 Nicolas M. Thiery <nthiery at users.sf.net> 93 # 94 # Distributed under the terms of the GNU General Public License (GPL) 95 # http://www.gnu.org/licenses/ 96 #***************************************************************************** 97 98 import inspect 99 from warnings import warn 100 from sage.misc.abstract_method import abstract_method, abstract_methods_of_class 101 from sage.misc.cachefunc import cached_method, cached_function 102 from sage.misc.c3_controlled import _cmp_key, _cmp_key_named, C3_sorted_merge 103 from sage.misc.lazy_attribute import lazy_attribute 104 from sage.misc.lazy_import import lazy_import --> 105 from sage.misc.unknown import Unknown global sage.misc.unknown = undefined global Unknown = undefined 106 from sage.misc.weak_dict import WeakValueDictionary 107 108 from sage.structure.sage_object import SageObject 109 from sage.structure.unique_representation import UniqueRepresentation 110 from sage.structure.dynamic_class import DynamicMetaclass, dynamic_class 111 112 from sage.categories.category_cy_helper import category_sort_key, _sort_uniq, _flatten_categories, join_as_tuple 113 114 _join_cache = WeakValueDictionary() 115 116 class Category(UniqueRepresentation, SageObject): 117 r""" 118 The base class for modeling mathematical categories, like for example: 119 120 - ``Groups()``: the category of groups /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/misc/unknown.py in <module>() 144 sage: for a in l: print ([a <= b for b in l]) 145 [True, True, True] 146 [False, True, True] 147 [False, False, True] 148 """ 149 if other is self: 150 return 0 151 if isinstance(other, bool): 152 if other: 153 return -1 154 else: 155 return +1 156 else: 157 raise ValueError("Unable to compare {} with {}".format(self, other)) 158 --> 159 Unknown = UnknownClass() global Unknown = undefined global UnknownClass = None sage/misc/classcall_metaclass.pyx in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (/home/laurent/sage-7.0/src/build/cythonized/sage/misc/classcall_metaclass.c:1239)() sage/misc/cachefunc.pyx in sage.misc.cachefunc.CachedFunction.__call__ (/home/laurent/sage-7.0/src/build/cythonized/sage/misc/cachefunc.c:5371)() /home/laurent/sage-7.0/local/lib/python2.7/site-packages/sage/structure/unique_representation.pyc in __classcall__(cls=<class 'sage.misc.unknown.UnknownClass'>, *args=(), **options={}) 1006 @weak_cached_function # automatically a staticmethod 1007 def __classcall__(cls, *args, **options): 1008 """ 1009 Construct a new object of this class or reuse an existing one. 1010 1011 See also :class:`CachedRepresentation` and 1012 :class:`UniqueRepresentation` for a discussion. 1013 1014 EXAMPLES:: 1015 1016 sage: x = UniqueRepresentation() 1017 sage: y = UniqueRepresentation() 1018 sage: x is y # indirect doctest 1019 True 1020 """ -> 1021 instance = typecall(cls, *args, **options) instance = undefined global typecall = <built-in function typecall> cls = <class 'sage.misc.unknown.UnknownClass'> args = () options = {} 1022 assert isinstance( instance, cls ) 1023 if instance.__class__.__reduce__ == CachedRepresentation.__reduce__: 1024 instance._reduction = (cls, args, options) 1025 return instance 1026 1027 @classmethod 1028 def _clear_cache_(cls): 1029 """ 1030 Remove all instances of this class from the cache. 1031 1032 EXAMPLES: 1033 1034 If ``cls`` overloads :meth:`~sage.structure.unique_representation.CachedRepresentation.__classcall__`, 1035 clearing the cache still works, because ``cls.mro()`` 1036 is searched until a ``__classcall__`` with an attribute sage/misc/classcall_metaclass.pyx in sage.misc.classcall_metaclass.typecall (/home/laurent/sage-7.0/src/build/cythonized/sage/misc/classcall_metaclass.c:1665)() TypeError: sage.misc.fast_methods.WithEqualityById.__new__(UnknownClass) is not safe, use object.__new__() *************************************************************************** History of session input: *** Last line of input (may not be in above history):