Are you on Fedora 26? Then it looks like this:
It looks like you hit this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1464520
You need to install psutils:
$ dnf install python2-psutil
On Friday, October 6, 2017 at 4:34:09 PM UTC+1, Lee Duke wrote:
>
> ***************************************************************************
>
>
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.