***************************************************************************
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.12.9-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, Sep 5 2017, 08:53:59) \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
Fri Oct 6 11:28:35 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 <module>()
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 = <bound method
SageTerminalApp.initialize of <sage.repl.interpreter.SageTerminalApp
object at 0x7f9a675e1290>>
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 0x7f9a597d7578>
app = <sage.repl.interpreter.SageTerminalApp object at
0x7f9a675e1290>
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=<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 0x7f9a675e1290>>
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=<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 0x7f9a58657a10>>
global SAGE_EXTENSION = 'sage'
763
764
/usr/lib64/sagemath/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 0x7f9a58657a10>>
mod = <module 'sage' from
'/usr/lib64/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/lib64/sagemath/site-packages/IPython/core/extensions.pyc in
_call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager
object>, mod=<module 'sage' from
'/usr/lib64/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 0x7f9a675d4758>
self.shell =
<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7f9a597f7d50>
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=(<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 0x7f9a58227b18>
args = (<sage.repl.interpreter.SageTerminalInteractiveShell
object at 0x7f9a597f7d50>,)
/usr/lib64/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 0x7f9a597f7d50>,)
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=<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 0x7f9a597f7d50>
/usr/lib64/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/lib64/python2.7/site-packages/sage/all.py in <module>()
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 <module>()
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 <module>()
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 <module>()
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 = <function virtual_memory_limit at
0x7f9a51d1e0c8>
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):
--
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.