You are not logged in.
When trying to open sage (ipython interface) i got
ImportError: No module named backports.shutil_get_terminal_size
I then tried
sudo pip2 uninstall backports.shutil_get_terminal_size
sudo pip2 install backports.shutil_get_terminal_size
And now i'm getting a crash report:
***************************************************************************
IPython post-mortem report
{'commit_hash': u'<not found>',
'commit_source': '(none found)',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/lib/python2.7/site-packages/IPython',
'ipython_version': '5.3.0',
'os_name': 'posix',
'platform': 'Linux-4.11.3-1-ARCH-x86_64-with-glibc2.2.5',
'sys_executable': '/usr/bin/python2',
'sys_platform': 'linux2',
'sys_version': '2.7.13 (default, Feb 11 2017, 12:22:40) \n[GCC 6.3.1 20170109]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Python 2.7.13: /usr/bin/python2
Wed Jun 7 13:53:44 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/bin/sage-ipython in <module>()
1 #!/usr/bin/env python2
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 0x7f049f434090>>
11 app.start()
<decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
/usr/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={})
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 0x7f0497dda848>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7f049f434090>
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/site-packages/IPython/terminal/ipapp.pyc in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, 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 = <bound method SageTerminalApp.init_shell of <sage.repl.interpreter.SageTerminalApp object at 0x7f049f434090>>
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/lib/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
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 = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x7f0497f5d290>>
global SAGE_EXTENSION = 'sage'
763
764
/usr/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, 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 = <bound method ExtensionManager._call_load_ipython_extension of <IPython.core.extensions.ExtensionManager object at 0x7f0497f5d290>>
mod = <module 'sage' from '/usr/lib/python2.7/site-packages/sage/__init__.pyc'>
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/lib/python2.7/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/usr/lib/python2.7/site-packages/sage/__init__.pyc'>)
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 = <function load_ipython_extension at 0x7f049f42a758>
self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>
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/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 0x7f0497b6f0c8>
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>,)
/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **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 = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>,)
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/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
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 = <class 'sage.repl.ipython_extension.SageCustomizations'>
global shell = undefined
ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>
/usr/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>)
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/lib/python2.7/site-packages/sage/all.py in <module>()
88
89 from time import sleep
90
91 import sage.misc.lazy_import
92 from sage.misc.all import * # takes a while
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 *
global sage.rings.all = undefined
104 from sage.arith.all import *
105 from sage.matrix.all import *
106
107 from sage.symbolic.all import *
108 from sage.modules.all import *
109 from sage.monoids.all import *
110 from sage.algebras.all import *
111 from sage.modular.all import *
112 from sage.sat.all import *
113 from sage.schemes.all import *
114 from sage.graphs.all import *
115 from sage.groups.all import *
116 from sage.databases.all import *
117 from sage.categories.all import *
118 from sage.sets.all import *
/usr/lib/python2.7/site-packages/sage/rings/all.py in <module>()
39
40 # Rational numbers
41 from .rational_field import RationalField, QQ
42 from .rational import Rational
43 Rationals = RationalField
44
45 # Integers modulo n.
46 from sage.rings.finite_rings.integer_mod_ring import IntegerModRing, Zmod
47 from sage.rings.finite_rings.integer_mod import IntegerMod, Mod, mod
48 Integers = IntegerModRing
49
50 # Finite fields
51 from .finite_rings.all import *
52
53 # Number field
---> 54 from .number_field.all import *
global number_field.all = undefined
55
56 # Function field
57 from .function_field.all import *
58
59 # Finite residue fields
60 from .finite_rings.residue_field import ResidueField
61
62 # p-adic field
63 from .padics.all import *
64 from .padics.padic_printing import _printer_defaults as padic_printing
65
66 # Semirings
67 from .semirings.all import *
68
69 # Real numbers
/usr/lib/python2.7/site-packages/sage/rings/number_field/all.py in <module>()
1 from __future__ import absolute_import
2
3 from .number_field import (NumberField, NumberFieldTower, CyclotomicField, QuadraticField,
4 is_fundamental_discriminant)
5 from .number_field_element import NumberFieldElement
6
7 from .order import EquationOrder, GaussianIntegers, EisensteinIntegers
8
----> 9 from .totallyreal import enumerate_totallyreal_fields_prim
global totallyreal = undefined
global enumerate_totallyreal_fields_prim = undefined
10 from .totallyreal_data import hermite_constant
11 from .totallyreal_rel import enumerate_totallyreal_fields_all, enumerate_totallyreal_fields_rel
12
13 from .unit_group import UnitGroup
/usr/lib/python2.7/site-packages/sage/rings/number_field/totallyreal_data.pxd in init sage.rings.number_field.totallyreal (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/rings/number_field/totallyreal.c:12733)()
1 cdef double eval_seq_as_poly(int *f, int n, double x)
2 cdef double newton(int *f, int *df, int n, double x0, double eps)
3 cdef void newton_in_intervals(int *f, int *df, int n, double *beta, double eps, double *rts)
4 cpdef lagrange_degree_3(int n, int an1, int an2, int an3)
5
6 cimport sage.rings.integer
7
8 cdef int eval_seq_as_poly_int(int *f, int n, int x)
9
10 cdef int easy_is_irreducible(int *a, int n)
11
---> 12 cdef class tr_data:
global cdef = undefined
global tr_data = undefined
13
14 cdef int n, k
15 cdef double B
16 cdef double b_lower, b_upper, gamma
17
18 cdef int *a
19 cdef int *amax
20 cdef double *beta
21 cdef int *gnk
22
23 cdef int *df
24
25 cdef void incr(self, int *f_out, int verbose, int haltk, int phc)
26
/usr/share/sage/source/sage/rings/number_field/totallyreal_data.pyx in init sage.rings.number_field.totallyreal_data (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/rings/number_field/totallyreal_data.c:13445)()
24 #*****************************************************************************
25 from __future__ import print_function
26
27 include "sage/ext/cdefs.pxi"
28 include "cysignals/memory.pxi"
29
30 from sage.arith.all import binomial, gcd
31 from sage.rings.rational_field import RationalField
32 from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
33 from sage.rings.real_mpfi import RealIntervalField
34 from sage.rings.real_mpfr import RealField
35 from sage.rings.integer_ring import ZZ
36 from sage.rings.integer cimport Integer
37
38 # Other global variables
---> 39 ZZx = PolynomialRing(ZZ, 'x')
global ZZx = undefined
global PolynomialRing = <function PolynomialRing at 0x7f03861f26e0>
global ZZ = Integer Ring
40
41 from libc.math cimport lrint, floor, ceil, fabs, round
42
43
44 #*********************************************************************
45 # Auxiliary routine
46 # Hermite constant, naive Newton-Raphson, and a specialized Lagrange
47 # multiplier solver.
48 #*********************************************************************
49
50 def hermite_constant(n):
51 r"""
52 This function returns the nth Hermite constant
53
54 The nth Hermite constant (typically denoted `\gamma_n`), is defined
/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.pyc in PolynomialRing(base_ring=Integer Ring, arg1='x', arg2=None, sparse=False, order='degrevlex', names=None, name='x', var_array=None, implementation=None)
446 arg2 = [str(x) for x in arg2]
447 if isinstance(arg2, (int, long, Integer)):
448 # 3. PolynomialRing(base_ring, names, n, order='degrevlex'):
449 if not isinstance(arg1, (list, tuple, str)):
450 raise TypeError("You *must* specify the names of the variables.")
451 n = int(arg2)
452 names = arg1
453 R = _multi_variate(base_ring, names, n, sparse, order, implementation)
454
455 elif isinstance(arg1, str) or (isinstance(arg1, (list,tuple)) and len(arg1) == 1):
456 if not ',' in arg1:
457 # 1. PolynomialRing(base_ring, name, sparse=False):
458 if not arg2 is None:
459 raise TypeError("if second arguments is a string with no commas, then there must be no other non-optional arguments")
460 name = arg1
--> 461 R = _single_variate(base_ring, name, sparse, implementation)
R = None
global _single_variate = <function _single_variate at 0x7f03861f5230>
base_ring = Integer Ring
name = 'x'
sparse = False
implementation = None
462 else:
463 # 2-4. PolynomialRing(base_ring, names, order='degrevlex'):
464 if not arg2 is None:
465 raise TypeError("invalid input to PolynomialRing function; please see the docstring for that function")
466 names = arg1.split(',')
467 R = _multi_variate(base_ring, names, -1, sparse, order, implementation)
468 elif isinstance(arg1, (list, tuple)):
469 # PolynomialRing(base_ring, names (list or tuple), order='degrevlex'):
470 names = arg1
471 R = _multi_variate(base_ring, names, -1, sparse, order, implementation)
472
473 if arg1 is None and arg2 is None:
474 raise TypeError("you *must* specify the indeterminates (as not None).")
475 if R is None:
476 raise TypeError("invalid input (%s, %s, %s) to PolynomialRing function; please see the docstring for that function"%(
/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.pyc in _single_variate(base_ring=Integer Ring, name=('x',), sparse=False, implementation=None)
524 R = m.PolynomialRing_dense_padic_ring_capped_absolute(base_ring, name)
525
526 elif isinstance(base_ring, padic_base_leaves.pAdicRingFixedMod):
527 R = m.PolynomialRing_dense_padic_ring_fixed_mod(base_ring, name)
528
529 elif base_ring in _CompleteDiscreteValuationRings:
530 R = m.PolynomialRing_cdvr(base_ring, name, sparse)
531
532 elif base_ring in _CompleteDiscreteValuationFields:
533 R = m.PolynomialRing_cdvf(base_ring, name, sparse)
534
535 elif base_ring.is_field(proof = False):
536 R = m.PolynomialRing_field(base_ring, name, sparse)
537
538 elif base_ring.is_integral_domain(proof = False):
--> 539 R = m.PolynomialRing_integral_domain(base_ring, name, sparse, implementation)
R = None
m.PolynomialRing_integral_domain = <class 'sage.rings.polynomial.polynomial_ring.PolynomialRing_integral_domain'>
base_ring = Integer Ring
name = ('x',)
sparse = False
implementation = None
540 else:
541 R = m.PolynomialRing_commutative(base_ring, name, sparse)
542 else:
543 R = m.PolynomialRing_general(base_ring, name, sparse)
544
545 if hasattr(R, '_implementation_names'):
546 for name in R._implementation_names:
547 real_key = key[0:3] + (name,)
548 _save_in_cache(real_key, R)
549 else:
550 _save_in_cache(key, R)
551 return R
552
553 def _multi_variate(base_ring, names, n, sparse, order, implementation):
554 # if not sparse:
/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, implementation=None, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=None)
1588 if is_IntegerRing(base_ring) and not sparse:
1589 if implementation == 'NTL':
1590 from sage.rings.polynomial.polynomial_integer_dense_ntl \
1591 import Polynomial_integer_dense_ntl
1592 element_class = Polynomial_integer_dense_ntl
1593 self._implementation_names = ('NTL',)
1594 self._implementation_repr = ' (using NTL)'
1595 elif implementation == 'FLINT' or implementation is None:
1596 from sage.rings.polynomial.polynomial_integer_dense_flint \
1597 import Polynomial_integer_dense_flint
1598 element_class = Polynomial_integer_dense_flint
1599 self._implementation_names = (None, 'FLINT')
1600 else:
1601 raise ValueError("Unknown implementation %s for ZZ[x]"%implementation)
1602 PolynomialRing_commutative.__init__(self, base_ring, name=name,
-> 1603 sparse=sparse, element_class=element_class, category=category)
sparse = False
element_class = <type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
category = None
1604
1605 def _repr_(self):
1606 """
1607 TESTS::
1608
1609 sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_integral_domain as PRing
1610 sage: R = PRing(ZZ, 'x', implementation='NTL'); R
1611 Univariate Polynomial Ring in x over Integer Ring (using NTL)
1612 """
1613 s = PolynomialRing_commutative._repr_(self)
1614 return s + self._implementation_repr
1615
1616
1617 class PolynomialRing_field(PolynomialRing_integral_domain,
1618 PolynomialRing_singular_repr,
/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=Join of Category of unique factorization domains...s and infinite enumerated sets and metric spaces))
1459 if max_degree is not None and of_degree is None:
1460 return self._monics_max( max_degree )
1461 raise ValueError("you should pass exactly one of of_degree and max_degree")
1462
1463 class PolynomialRing_commutative(PolynomialRing_general, commutative_algebra.CommutativeAlgebra):
1464 """
1465 Univariate polynomial ring over a commutative ring.
1466 """
1467 def __init__(self, base_ring, name=None, sparse=False, element_class=None, category=None):
1468 if base_ring not in _CommutativeRings:
1469 raise TypeError("Base ring %s must be a commutative ring."%repr(base_ring))
1470 # We trust that, if a category is given, that it is useful.
1471 if category is None:
1472 category = polynomial_default_category(base_ring.category(),False)
1473 PolynomialRing_general.__init__(self, base_ring, name=name,
-> 1474 sparse=sparse, element_class=element_class, category=category)
sparse = False
element_class = <type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
category = Join of Category of unique factorization domains and Category of commutative algebras over (euclidean domains and infinite enumerated sets and metric spaces)
1475
1476 def quotient_by_principal_ideal(self, f, names=None):
1477 """
1478 Return the quotient of this polynomial ring by the principal
1479 ideal (generated by) `f`.
1480
1481 INPUT:
1482
1483 - ``f`` - either a polynomial in ``self``, or a principal
1484 ideal of ``self``.
1485
1486 EXAMPLES::
1487
1488 sage: R.<x> = QQ[]
1489 sage: I = (x^2-1)*R
/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=Join of Category of unique factorization domains...s and infinite enumerated sets and metric spaces))
275 self._has_singular = False
276 # Algebra.__init__ also calls __init_extra__ of Algebras(...).parent_class, which
277 # tries to provide a conversion from the base ring, if it does not exist.
278 # This is for algebras that only do the generic stuff in their initialisation.
279 # But the attribute _no_generic_basering_coercion prevents that from happening,
280 # since we want to use PolynomialBaseringInjection.
281 sage.algebras.algebra.Algebra.__init__(self, base_ring, names=name, normalize=True, category=category)
282 self.__generator = self.element_class(self, [0,1], is_gen=True)
283 self._populate_coercion_lists_(
284 #coerce_list = [base_inject],
285 #convert_list = [list, base_inject],
286 convert_method_name = '_polynomial_')
287 if is_PolynomialRing(base_ring):
288 self._Karatsuba_threshold = 0
289 else:
--> 290 from sage.matrix.matrix_space import MatrixSpace
global sage.matrix.matrix_space = undefined
MatrixSpace = undefined
291 if isinstance(base_ring, MatrixSpace):
292 self._Karatsuba_threshold = 0
293 else:
294 self._Karatsuba_threshold = 8
295
296 def __reduce__(self):
297 import sage.rings.polynomial.polynomial_ring_constructor
298 return (sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing,
299 (self.base_ring(), self.variable_name(), None, self.is_sparse()))
300
301
302 def _element_constructor_(self, x=None, check=True, is_gen=False,
303 construct=False, **kwds):
304 r"""
305 Convert ``x`` into this univariate polynomial ring,
/usr/lib/python2.7/site-packages/sage/matrix/matrix_space.pyc in <module>()
33 #*****************************************************************************
34 from __future__ import print_function, absolute_import
35 from six.moves import range
36 from six import iteritems
37
38 # System imports
39 import sys
40 import types
41 import operator
42
43 # Sage matrix imports
44 from . import matrix
45 from . import matrix_generic_dense
46 from . import matrix_generic_sparse
47
---> 48 from . import matrix_modn_sparse
global matrix_modn_sparse = undefined
49
50 from . import matrix_mod2_dense
51 from . import matrix_gf2e_dense
52
53 from . import matrix_integer_dense
54 from . import matrix_integer_sparse
55
56 from . import matrix_rational_dense
57 from . import matrix_rational_sparse
58
59 from . import matrix_polynomial_dense
60 from . import matrix_mpolynomial_dense
61
62 # Sage imports
63 from sage.misc.superseded import deprecation
/usr/lib/python2.7/site-packages/sage/matrix/matrix_integer_dense.pxd in init sage.matrix.matrix_modn_sparse (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/matrix/matrix_modn_sparse.c:15213)()
1 from sage.libs.gmp.types cimport *
2 from sage.libs.flint.types cimport fmpz_mat_t
3
4 from .matrix_dense cimport Matrix_dense
5 from sage.rings.integer cimport Integer
6 from sage.ext.mod_int cimport *
7
8 ctypedef long* GEN
9
---> 10 cdef class Matrix_integer_dense(Matrix_dense):
global cdef = undefined
global Matrix_integer_dense = undefined
global Matrix_dense = undefined
11 cdef fmpz_mat_t _matrix # Always initialized in __cinit__
12 cdef bint _initialized_mpz
13 cdef mpz_t * _entries # Only used if _initialized_mpz
14 cdef mpz_t ** _rows # Only used if _initialized_mpz
15 cdef object _pivots
16 cdef int mpz_height(self, mpz_t height) except -1
17 cdef _mod_int_c(self, mod_int modulus)
18 cdef _mod_two(self)
19 cdef _pickle_version0(self)
20 cdef _unpickle_version0(self, data)
21 cpdef _export_as_string(self, int base=?)
22 cdef inline int _init_mpz(self) except -1
23 cdef int _init_mpz_impl(self) except -1
24 cdef inline int _init_linbox(self) except -1
25 cdef void _dealloc_mpz(self)
26 cdef void set_unsafe_mpz(self, Py_ssize_t i, Py_ssize_t j, const mpz_t value)
27 cdef void set_unsafe_si(self, Py_ssize_t i, Py_ssize_t j, long value)
28 cdef void set_unsafe_double(self, Py_ssize_t i, Py_ssize_t j, double value)
29 cdef inline void get_unsafe_mpz(self, Py_ssize_t i, Py_ssize_t j, mpz_t value)
30 cdef inline double get_unsafe_double(self, Py_ssize_t i, Py_ssize_t j)
31
ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory
***************************************************************************
History of session input:
*** Last line of input (may not be in above history):
Unfortunately, i can't reproduce which package upgrade or else caused this breakage.
Does anyone have an idea how this could be fixed?
Edit:
Just found https://bbs.archlinux.org/viewtopic.php?id=226826
The proposed fix work's for me, too.
I should work on my search skills…
Last edited by NinjaKoala (2017-06-07 12:08:45)
Offline
Update your system and AUR packages: whatever is linking to libgfortran.so.3 needs to be rebuilt.
(edit: too slow)
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Why are you using pip to install stuff on the root filesystem? That is just calling for trouble. Those packages are available in the official repositories.
Offline
@arojas: Because the package was said to be installed and i was testing around.
But yeah, i should probably have done
sudo pacman -R python2-backports.shutil_get_terminal_size
sudo pacman -S python2-backports.shutil_get_terminal_size
Offline