Sándor Czirbusz
--
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 http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.
***************************************************************************
IPython post-mortem report
{'commit_hash': '1c0eb68',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/lib/python2.7/site-packages/IPython',
'ipython_version': '2.3.1',
'os_name': 'posix',
'platform': 'Linux-3.17.6-1-ARCH-x86_64-with-glibc2.2.5',
'sys_executable': '/usr/bin/python2',
'sys_platform': 'linux2',
'sys_version': '2.7.9 (default, Dec 11 2014, 04:42:00) \n[GCC 4.9.2]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
ImportError Python 2.7.9: /usr/bin/python2
Wed Jan 7 11:01:00 2015
A problem occured 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 from sage.repl.interpreter import SageTerminalApp
7
8 # installs the extra readline commands before the IPython
initialization begins.
9 from sage.repl.readline_extra_commands import *
10
11 app = SageTerminalApp.instance()
---> 12 app.initialize()
global app.initialize = <bound method SageTerminalApp.initialize of
<sage.repl.interpreter.SageTerminalApp object at 0x7fcee7efd250>>
13 app.start()
/usr/lib/python2.7/site-packages/IPython/terminal/ipapp.py in
initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
/usr/lib/python2.7/site-packages/IPython/config/application.py in
catch_config_error(method=<function initialize>,
app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={})
77
78
#-----------------------------------------------------------------------------
79 # Application class
80
#-----------------------------------------------------------------------------
81
82 @decorator
83 def catch_config_error(method, app, *args, **kwargs):
84 """Method decorator for catching invalid config
(Trait/ArgumentErrors) during init.
85
86 On a TraitError (generally caused by bad config), this will print
the trait's
87 message, and exit the app.
88
89 For use on init methods, to prevent invoking excepthook on invalid
input.
90 """
91 try:
---> 92 return method(app, *args, **kwargs)
method = <function initialize at 0x7fcee7ddd0c8>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7fcee7efd250>
args = (None,)
kwargs = {}
93 except (TraitError, ArgumentError) as e:
94 app.print_help()
95 app.log.fatal("Bad config encountered during initialization:")
96 app.log.fatal(str(e))
97 app.log.debug("Config at the time: %s", app.config)
98 app.exit(1)
99
100
101 class ApplicationError(Exception):
102 pass
103
104 class LevelFormatter(logging.Formatter):
105 """Formatter with additional `highlevel` record
106
107 This field is empty if log level is less than highlevel_limit,
/usr/lib/python2.7/site-packages/IPython/terminal/ipapp.py in
initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
317
318 @catch_config_error
319 def initialize(self, argv=None):
320 """Do actions after construct, but before starting the app."""
321 super(TerminalIPythonApp, self).initialize(argv)
322 if self.subapp is not None:
323 # don't bother initializing further, starting subapp
324 return
325 if not self.ignore_old_config:
326 check_for_old_config(self.ipython_dir)
327 # print self.extra_args
328 if self.extra_args and not self.something_to_run:
329 self.file_to_run = self.extra_args[0]
330 self.init_path()
331 # create the shell
--> 332 self.init_shell()
self.init_shell = <bound method SageTerminalApp.init_shell of
<sage.repl.interpreter.SageTerminalApp object at 0x7fcee7efd250>>
333 # and draw the banner
334 self.init_banner()
335 # Now a variety of things that happen after the banner is
printed.
336 self.init_gui_pylab()
337 self.init_extensions()
338 self.init_code()
339
340 def init_shell(self):
341 """initialize the InteractiveShell instance"""
342 # Create an InteractiveShell instance.
343 # shell.display_banner should always be False for the terminal
344 # based app, because we call shell.show_banner() by hand below
345 # so the banner shows *before* all extension loading stuff.
346 self.shell = TerminalInteractiveShell.instance(parent=self,
347 display_banner=False,
profile_dir=self.profile_dir,
/usr/lib/python2.7/site-packages/sage/repl/interpreter.pyc in
init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
551 sage: app.shell
552 <sage.repl.interpreter.SageTerminalInteractiveShell object
at 0x...>
553 """
554 # Shell initialization
555 self.shell =
SageTerminalInteractiveShell.instance(config=self.config,
556 display_banner=False,
profile_dir=self.profile_dir,
557 ipython_dir=self.ipython_dir)
558 self.shell.configurables.append(self)
559 self.shell.has_sage_extensions = SAGE_EXTENSION in
self.extensions
560
561 if self.shell.has_sage_extensions:
562 self.extensions.remove(SAGE_EXTENSION)
563
564 # load sage extension here to get a crash if
565 # something is wrong with the sage library
--> 566 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 0x7fcee5665990>>
global SAGE_EXTENSION = 'sage'
567
568
/usr/lib/python2.7/site-packages/IPython/core/extensions.py in
load_extension(self=<IPython.core.extensions.ExtensionManager object>,
module_str='sage')
85
86 Returns the string "already loaded" if the extension is already
loaded,
87 "no load function" if the module doesn't have a
load_ipython_extension
88 function, or None if it succeeded.
89 """
90 if module_str in self.loaded:
91 return "already loaded"
92
93 from IPython.utils.syspathcontext import prepended_to_syspath
94
95 with self.shell.builtin_trap:
96 if module_str not in sys.modules:
97 with prepended_to_syspath(self.ipython_extension_dir):
98 __import__(module_str)
99 mod = sys.modules[module_str]
--> 100 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 0x7fcee5665990>>
mod = <module 'sage' from
'/usr/lib/python2.7/site-packages/sage/__init__.pyc'>
101 self.loaded.add(module_str)
102 else:
103 return "no load function"
104
105 def unload_extension(self, module_str):
106 """Unload an IPython extension by its module name.
107
108 This function looks up the extension's name in ``sys.modules``
and
109 simply calls ``mod.unload_ipython_extension(self)``.
110
111 Returns the string "no unload function" if the extension
doesn't define
112 a function to unload itself, "not loaded" if the extension
isn't loaded,
113 otherwise None.
114 """
115 if module_str not in self.loaded:
/usr/lib/python2.7/site-packages/IPython/core/extensions.py in
_call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager
object>, mod=<module 'sage' from
'/usr/lib/python2.7/site-packages/sage/__init__.pyc'>)
132 """
133 from IPython.utils.syspathcontext import prepended_to_syspath
134
135 if (module_str in self.loaded) and (module_str in sys.modules):
136 self.unload_extension(module_str)
137 mod = sys.modules[module_str]
138 with prepended_to_syspath(self.ipython_extension_dir):
139 reload(mod)
140 if self._call_load_ipython_extension(mod):
141 self.loaded.add(module_str)
142 else:
143 self.load_extension(module_str)
144
145 def _call_load_ipython_extension(self, mod):
146 if hasattr(mod, 'load_ipython_extension'):
--> 147 mod.load_ipython_extension(self.shell)
mod.load_ipython_extension = <function load_ipython_extension at
0x7fcee7ef8938>
self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object
at 0x7fcee7efd790>
148 return True
149
150 def _call_unload_ipython_extension(self, mod):
151 if hasattr(mod, 'unload_ipython_extension'):
152 mod.unload_ipython_extension(self.shell)
153 return True
154
155 def install_extension(self, url, filename=None):
156 """Download and install an IPython extension.
157
158 If filename is given, the file will be so named (inside the
extension
159 directory). Otherwise, the name from the URL will be used. The
file must
160 have a .py or .zip extension; otherwise, a ValueError will be
raised.
161
162 Returns the full path to the installed file.
/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in
wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,),
**kwargs={})
416 ....: if work:
417 ....: return 'foo worked'
418 ....: raise RuntimeError("foo didn't work")
419 sage: foo(False)
420 Traceback (most recent call last):
421 ...
422 RuntimeError: foo didn't work
423 sage: foo(True)
424 'foo worked'
425 sage: foo(False)
426 sage: foo(True)
427 """
428 @wraps(func)
429 def wrapper(*args, **kwargs):
430 if not wrapper.has_run:
--> 431 result = func(*args, **kwargs)
result = undefined
global func = undefined
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7fcee7efd790>,)
kwargs = {}
432 wrapper.has_run = True
433 return result
434 wrapper.has_run = False
435 return wrapper
436
437
438 @run_once
439 def load_ipython_extension(ip):
440 """
441 Load the extension in IPython.
442 """
443 # this modifies ip
444 SageCustomizations(shell=ip)
/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in
load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
429 def wrapper(*args, **kwargs):
430 if not wrapper.has_run:
431 result = func(*args, **kwargs)
432 wrapper.has_run = True
433 return result
434 wrapper.has_run = False
435 return wrapper
436
437
438 @run_once
439 def load_ipython_extension(ip):
440 """
441 Load the extension in IPython.
442 """
443 # this modifies ip
--> 444 SageCustomizations(shell=ip)
global SageCustomizations = <class
'sage.repl.ipython_extension.SageCustomizations'>
global shell = undefined
ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7fcee7efd790>
/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>)
293 """
294 Initialize the Sage plugin.
295 """
296 self.shell = shell
297
298 self.auto_magics = SageMagics(shell)
299 self.shell.register_magics(self.auto_magics)
300
301 import sage.repl.display.formatter as formatter
302 self.shell.display_formatter.formatters['text/plain'] = (
303 formatter.SageConsoleTextFormatter(config=shell.config))
304
305 import sage.misc.edit_module as edit_module
306 self.shell.set_hook('editor', edit_module.edit_devel)
307
--> 308 self.init_inspector()
self.init_inspector = <bound method SageCustomizations.init_inspector
of <sage.repl.ipython_extension.SageCustomizations object at 0x7fcee5665b10>>
309 self.init_line_transforms()
310
311 import inputhook
312 inputhook.install()
313
314 import sage.all # until sage's import hell is fixed
315
316 self.shell.verbose_quit = True
317 self.set_quit_hook()
318
319 self.register_interface_magics()
320
321 if SAGE_IMPORTALL == 'yes':
322 self.init_environment()
323
/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in
init_inspector(self=<sage.repl.ipython_extension.SageCustomizations object>)
370 def run_init(self):
371 """
372 Run Sage's initial startup file.
373 """
374 try:
375 with open(SAGE_STARTUP_FILE, 'r') as f:
376 self.shell.run_cell(f.read(), store_history=False)
377 except IOError:
378 pass
379
380 def init_inspector(self):
381 # Ideally, these would just be methods of the Inspector class
382 # that we could override; however, IPython looks them up in
383 # the global :class:`IPython.core.oinspect` module namespace.
384 # Thus, we have to monkey-patch.
--> 385 import sage.misc.sagedoc as sagedoc
global sage.misc.sagedoc = undefined
sagedoc = undefined
386 import sage.misc.sageinspect as sageinspect
387 import IPython.core.oinspect
388 IPython.core.oinspect.getdoc = sageinspect.sage_getdoc
389 IPython.core.oinspect.getsource = sagedoc.my_getsource
390 IPython.core.oinspect.getargspec = sageinspect.sage_getargspec
391
392 def init_line_transforms(self):
393 """
394 Set up transforms (like the preparser).
395 """
396 from interpreter import (SagePreparseTransformer,
397 SagePromptTransformer)
398
399 for s in (self.shell.input_splitter,
self.shell.input_transformer_manager):
400 s.physical_line_transforms.insert(1,
SagePromptTransformer())
/usr/lib/python2.7/site-packages/sage/misc/sagedoc.py in <module>()
25 <tt class="descname">N</tt><big>(</big><em>prec=None</em>,
<em>digits=None</em>, <em>algorithm=None</em><big>)</big>...
26 """
27
#*****************************************************************************
28 # Copyright (C) 2005 William Stein <[email protected]>
29 #
30 # Distributed under the terms of the GNU General Public License (GPL)
31 # as published by the Free Software Foundation; either version 2 of
32 # the License, or (at your option) any later version.
33 # http://www.gnu.org/licenses/
34
#*****************************************************************************
35
36 from __future__ import print_function
37 import os, re, sys
38 import pydoc
39 from sage.misc.viewer import browser
---> 40 from sage.misc.misc import tmp_dir
global sage.misc.misc = undefined
global tmp_dir = undefined
41 import sage.version
42 from sage.env import SAGE_DOC, SAGE_SRC
43
44 # two kinds of substitutions: math, which should only be done on the
45 # command line -- in the notebook, these should instead by taken care
46 # of by MathJax -- and nonmath, which should be done always.
47 math_substitutes = [ # don't forget leading backslash '\\'
48 ('\\to', '-->'),
49 ('\\leq', '<='),
50 ('\\geq', '>='),
51 ('\\le', '<='),
52 ('\\ge', '>='),
53 ('\\cdots', '...'),
54 ('\\ldots', '...'),
55 ('\\dots', '...'),
/usr/lib/python2.7/site-packages/sage/misc/misc.py in <module>()
32 ########################################################################
33 # Copyright (C) 2006 William Stein <[email protected]>
34 #
35 # Distributed under the terms of the GNU General Public License (GPL)
36 #
37 # http://www.gnu.org/licenses/
38 ########################################################################
39
40 __doc_exclude=["cached_attribute", "cached_class_attribute",
"lazy_prop",
41 "generic_cmp", "to_gmp_hex", "todo",
42 "typecheck", "prop", "strunc",
43 "assert_attribute", "LOGFILE"]
44
45 from warnings import warn
46 import operator, os, stat, socket, sys, signal, time, weakref,
resource, math
---> 47 import sage.misc.prandom as random
global sage.misc.prandom = undefined
global random = undefined
48 from lazy_string import lazy_string
49
50 from sage.misc.temporary_file import tmp_dir, tmp_filename,
delete_tmpfiles
51
52 from banner import version, banner
53
54 # for backwards compatiblity
55 from sage.env import *
56
57 LOCAL_IDENTIFIER = '%s.%s'%(HOSTNAME , os.getpid())
58
59 def sage_makedirs(dir):
60 """
61 Python version of ``mkdir -p``: try to create a directory, and also
62 create all intermediate directories as necessary. Succeed silently
/usr/lib/python2.7/site-packages/sage/misc/prandom.py in <module>()
43 sage: timeit('test1()') # random
44 625 loops, best of 3: 590 us per loop
45 sage: timeit('test2()') # random
46 625 loops, best of 3: 460 us per loop
47
48 The docstrings for the functions in this file are mostly copied from
49 Python's \file{random.py}, so those docstrings are "Copyright (c)
50 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation;
51 All Rights Reserved" and are available under the terms of the
52 Python Software Foundation License Version 2.
53 """
54
55 # We deliberately omit "seed" and several other seed-related
functions...
56 # setting seeds should only be done through sage.misc.randstate .
57
---> 58 from sage.misc.randstate import current_randstate
global sage.misc.randstate = undefined
global current_randstate = undefined
59
60 def _pyrand():
61 r"""
62 A tiny private helper function to return an instance of
63 random.Random from the current \sage random number state.
64 Only for use in prandom.py; other modules should use
65 current_randstate().python_random().
66
67 EXAMPLES::
68
69 sage: from sage.misc.prandom import _pyrand
70 sage: _pyrand()
71 <random.Random object at 0x...>
72 sage: _pyrand().getrandbits(10)
73 114L
ImportError: libpari-gmp-tls.so.4: cannot open shared object file: No such file
or directory
***************************************************************************
History of session input:
*** Last line of input (may not be in above history):