Hi
I install SageMath version 8.6, Release Date: 2019-01-15
on Ubuntu 18.04 but can't run without superuser configuration
I add the file generated by the system.
I'll be very gratefull of any help
Jorge Garcia
Universidad Nacional de Cordoba
Argentina
--
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.
***************************************************************************
IPython post-mortem report
{'commit_hash': u'033ab93c7',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/opt/SageMath/local/lib/python2.7/site-packages/IPython',
'ipython_version': '5.8.0',
'os_name': 'posix',
'platform': 'Linux-4.18.0-17-generic-x86_64-with-debian-buster-sid',
'sys_executable': '/opt/SageMath/local/bin/python2',
'sys_platform': 'linux2',
'sys_version': '2.7.15 (default, Jan 18 2019, 07:04:55) \n[GCC 7.2.0]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
OSError Python 2.7.15: /opt/SageMath/local/bin/python2
Wed Apr 17 16:07:42 2019
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.
/opt/SageMath/src/bin/sage-ipython in <module>()
1 #!/usr/bin/env sage-python23
2 # -*- coding: utf-8 -*-
3 """
4 Sage IPython startup script.
5 """
6
7 # Display startup banner. Do this before anything else to give the user
8 # early feedback that Sage is starting.
9 from sage.misc.banner import banner
10 banner()
11
12 from sage.repl.interpreter import SageTerminalApp
13
14 app = SageTerminalApp.instance()
---> 15 app.initialize()
global app.initialize = <bound method SageTerminalApp.initialize of
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>>
16 app.start()
<decorator-gen-110> in initialize(self=<sage.repl.interpreter.SageTerminalApp
object>, argv=None)
/opt/SageMath/local/lib/python2.7/site-packages/traitlets/config/application.pyc
in catch_config_error(method=<function initialize>,
app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={})
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 0x7f25172f1ed8>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>
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
/opt/SageMath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc in
initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
301
302 return super(TerminalIPythonApp, self).parse_command_line(argv)
303
304 @catch_config_error
305 def initialize(self, argv=None):
306 """Do actions after construct, but before starting the app."""
307 super(TerminalIPythonApp, self).initialize(argv)
308 if self.subapp is not None:
309 # don't bother initializing further, starting subapp
310 return
311 # print self.extra_args
312 if self.extra_args and not self.something_to_run:
313 self.file_to_run = self.extra_args[0]
314 self.init_path()
315 # create the shell
--> 316 self.init_shell()
self.init_shell = <bound method SageTerminalApp.init_shell of
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>>
317 # and draw the banner
318 self.init_banner()
319 # Now a variety of things that happen after the banner is
printed.
320 self.init_gui_pylab()
321 self.init_extensions()
322 self.init_code()
323
324 def init_shell(self):
325 """initialize the InteractiveShell instance"""
326 # Create an InteractiveShell instance.
327 # shell.display_banner should always be False for the terminal
328 # based app, because we call shell.show_banner() by hand below
329 # so the banner shows *before* all extension loading stuff.
330 self.shell = self.interactive_shell_class.instance(parent=self,
331 profile_dir=self.profile_dir,
/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in
init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
728 This code is based on
729 :meth:`TerminalIPythonApp.init_shell`.
730
731 EXAMPLES::
732
733 sage: from sage.repl.interpreter import SageTerminalApp
734 sage: app = SageTerminalApp.instance()
735 sage: app.shell
736 <sage.repl.interpreter.SageTestShell object at 0x...>
737 """
738 # Shell initialization
739 self.shell = self.shell_class.instance(
740 parent=self,
741 config=self.config,
742 profile_dir=self.profile_dir,
--> 743 ipython_dir=self.ipython_dir)
global ipython_dir = undefined
self.ipython_dir = u'/tmp/tmpx1QwxF'
744 self.shell.configurables.append(self)
745 self.shell.has_sage_extensions = SAGE_EXTENSION in
self.extensions
746
747 # Load the %lprun extension if available
748 try:
749 import line_profiler
750 except ImportError:
751 pass
752 else:
753 self.extensions.append('line_profiler')
754
755 if self.shell.has_sage_extensions:
756 self.extensions.remove(SAGE_EXTENSION)
757
758 # load sage extension here to get a crash if
/opt/SageMath/local/lib/python2.7/site-packages/traitlets/config/configurable.pyc
in instance(cls=<class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
*args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
u'/tmp/tmpx1QwxF', 'parent': <sage.repl.interpreter.SageTerminalApp object>,
'profile_dir': <IPython.core.profiledir.ProfileDir object>})
397 >>> class Foo(SingletonConfigurable): pass
398 >>> foo = Foo.instance()
399 >>> foo == Foo.instance()
400 True
401
402 Create a subclass that is retrived using the base class
instance::
403
404 >>> class Bar(SingletonConfigurable): pass
405 >>> class Bam(Bar): pass
406 >>> bam = Bam.instance()
407 >>> bam == Bar.instance()
408 True
409 """
410 # Create and save the instance
411 if cls._instance is None:
--> 412 inst = cls(*args, **kwargs)
inst = undefined
cls = <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>
args = ()
kwargs = {'ipython_dir': u'/tmp/tmpx1QwxF', 'profile_dir':
<IPython.core.profiledir.ProfileDir object at 0x7f25172a22d0>, 'config':
{'InteractiveShell': {'term_title': True, 'colors': 'LightBG', 'confirm_exit':
False, 'prompts_class': <class 'sage.repl.prompts.SagePrompts'>, 'separate_in':
'', 'ast_node_interactivity': 'all', 'simple_prompt': False},
'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp':
{'shell_class': <class 'sage.repl.interpreter.SageTerminalInteractiveShell'>,
'display_banner': False, 'test_shell': False, 'verbose_crash': True},
'SageTerminalApp': {'force_interact': True}}, 'parent':
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>}
413 # Now make sure that the instance will also be returned by
414 # parent classes' _instance attribute.
415 for subclass in cls._walk_mro():
416 subclass._instance = inst
417
418 if isinstance(cls._instance, cls):
419 return cls._instance
420 else:
421 raise MultipleInstanceError(
422 'Multiple incompatible subclass instances of '
423 '%s are being created.' % cls.__name__
424 )
425
426 @classmethod
427 def initialized(cls):
/opt/SageMath/local/lib/python2.7/site-packages/IPython/terminal/interactiveshell.pyc
in __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
*args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True,
'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir':
u'/tmp/tmpx1QwxF', 'parent': <sage.repl.interpreter.SageTerminalApp object>,
'profile_dir': <IPython.core.profiledir.ProfileDir object>})
425
426 def init_alias(self):
427 # The parent class defines aliases that can be safely used with
any
428 # frontend.
429 super(TerminalInteractiveShell, self).init_alias()
430
431 # Now define aliases that only make sense on the terminal,
because they
432 # need direct access to the console in a way that we can't
emulate in
433 # GUI or web frontend
434 if os.name == 'posix':
435 for cmd in ['clear', 'more', 'less', 'man']:
436 self.alias_manager.soft_define_alias(cmd, cmd)
437
438
439 def __init__(self, *args, **kwargs):
--> 440 super(TerminalInteractiveShell, self).__init__(*args, **kwargs)
global super = undefined
global TerminalInteractiveShell = <class
'IPython.terminal.interactiveshell.TerminalInteractiveShell'>
self.__init__ = <bound method SageTerminalInteractiveShell.__init__ of
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f25172a2210>>
args = ()
kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir object at
0x7f25172a22d0>, 'config': {'InteractiveShell': {'term_title': True, 'colors':
'LightBG', 'confirm_exit': False, 'prompts_class': <class
'sage.repl.prompts.SagePrompts'>, 'separate_in': '', 'ast_node_interactivity':
'all', 'simple_prompt': False}, 'InteractiveShellApp': {'extensions':
['sage']}, 'TerminalIPythonApp': {'shell_class': <class
'sage.repl.interpreter.SageTerminalInteractiveShell'>, 'display_banner': False,
'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp':
{'force_interact': True}}, 'ipython_dir': u'/tmp/tmpx1QwxF', 'parent':
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>}
441 self.init_prompt_toolkit_cli()
442 self.init_term_title()
443 self.keep_running = True
444
445 self.debugger_history = InMemoryHistory()
446
447 def ask_exit(self):
448 self.keep_running = False
449
450 rl_next_input = None
451
452 def pre_prompt(self):
453 if self.rl_next_input:
454 # We can't set the buffer here, because it will be reset
just after
455 # this. Adding a callable to pre_run_callables does what we
need
/opt/SageMath/local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc
in __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>,
ipython_dir=u'/tmp/tmpx1QwxF', profile_dir=<IPython.core.profiledir.ProfileDir
object>, user_module=None, user_ns=None, custom_exceptions=((), None),
**kwargs={'config': {'InteractiveShell': {'term_title': True, 'color...ue},
'SageTerminalApp': {'force_interact': True}}, 'parent':
<sage.repl.interpreter.SageTerminalApp object>})
488 self.init_builtins()
489
490 # The following was in post_config_initialization
491 self.init_inspector()
492 if py3compat.PY3:
493 self.raw_input_original = input
494 else:
495 self.raw_input_original = raw_input
496 self.init_completer()
497 # TODO: init_io() needs to happen before init_traceback handlers
498 # because the traceback handlers hardcode the stdout/stderr
streams.
499 # This logic in in debugger.Pdb and should eventually be
changed.
500 self.init_io()
501 self.init_traceback_handlers(custom_exceptions)
502 self.init_prompts()
--> 503 self.init_display_formatter()
self.init_display_formatter = <bound method
SageTerminalInteractiveShell.init_display_formatter of
<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f25172a2210>>
504 self.init_display_pub()
505 self.init_data_pub()
506 self.init_displayhook()
507 self.init_magics()
508 self.init_alias()
509 self.init_logstart()
510 self.init_pdb()
511 self.init_extension_manager()
512 self.init_payload()
513 self.init_deprecation_warnings()
514 self.hooks.late_startup_hook()
515 self.events.trigger('shell_initialized', self)
516 atexit.register(self.atexit_operations)
517
518 def get_ipython(self):
/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in
init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
246
247 sage: from sage.repl.interpreter import
SageTerminalInteractiveShell
248 sage: SageTerminalInteractiveShell() # not tested
249 <sage.repl.interpreter.SageNotebookInteractiveShell object at
0x...>
250 """
251
252 def init_display_formatter(self):
253 """
254 Switch to the Sage IPython commandline rich output backend
255
256 EXAMPLES::
257
258 sage: from sage.repl.interpreter import
SageTerminalInteractiveShell
259 sage:
SageTerminalInteractiveShell().init_display_formatter() # not tested
260 """
--> 261 from sage.repl.rich_output.backend_ipython import
BackendIPythonCommandline
global sage.repl.rich_output.backend_ipython = undefined
BackendIPythonCommandline = undefined
262 backend = BackendIPythonCommandline()
263 backend.get_display_manager().switch_backend(backend,
shell=self)
264
265
266 class SageTestShell(SageShellOverride, TerminalInteractiveShell):
267 """
268 Test Shell
269
270 Care must be taken in these doctests to quit the test shell in
271 order to switch back the rich output display backend to the
272 doctest backend.
273
274 EXAMPLES::
275
276 sage: from sage.repl.interpreter import get_test_shell
/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/rich_output/__init__.py
in <module>()
1 # -*- encoding: utf-8 -*-
2
----> 3 from .display_manager import get_display_manager
global display_manager = undefined
global get_display_manager = undefined
4 from .pretty_print import pretty_print
5
6
/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/rich_output/display_manager.py
in <module>()
24 The Sage display manager using the doctest backend
25 """
26
27 #
****************************************************************************
28 # Copyright (C) 2015 Volker Braun <[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
37 import warnings
38
---> 39 from sage.structure.sage_object import SageObject
global sage.structure.sage_object = undefined
global SageObject = undefined
40 from sage.repl.rich_output.output_basic import (
41 OutputPlainText, OutputAsciiArt, OutputUnicodeArt, OutputLatex,
42 )
43 from sage.repl.rich_output.preferences import DisplayPreferences
44
45
46 class DisplayException(Exception):
47 """
48 Base exception for all rich output-related exceptions.
49
50 EXAMPLES::
51
52 sage: from sage.repl.rich_output.display_manager import
DisplayException
53 sage: raise DisplayException('foo')
54 Traceback (most recent call last):
/opt/SageMath/local/lib/python2.7/site-packages/sage/structure/sage_object.pyx
in init sage.structure.sage_object
(build/cythonized/sage/structure/sage_object.c:11199)()
1 # -*- encoding: utf-8 -*-
2 r"""
3 Abstract base class for Sage objects
4 """
5 from __future__ import absolute_import, print_function
6
----> 7 from sage.misc.persist import (_base_dumps, _base_save,
global sage.misc.persist = undefined
global _base_dumps = undefined
global _base_save = undefined
global register_unpickle_override = undefined
global make_None = undefined
8 register_unpickle_override, make_None)
9
10 from sage.misc.lazy_import import LazyImport
11
12 # NOTE: These imports are just for backwards-compatibility
13 loads = LazyImport('sage.misc.persist', 'loads', deprecation=25153)
14 dumps = LazyImport('sage.misc.persist', 'dumps', deprecation=25153)
15 save = LazyImport('sage.misc.persist', 'save', deprecation=25153)
16 load = LazyImport('sage.misc.persist', 'load', deprecation=25153)
17 unpickle_all = LazyImport('sage.misc.persist', 'unpickle_all',
18 deprecation=25153)
19 unpickle_global = LazyImport('sage.misc.persist', 'unpickle_global',
20 deprecation=25153)
21 unpickle_override = LazyImport('sage.misc.persist', 'unpickle_override',
22 deprecation=25153)
23
24
25 # Generators is no longer used (#21382)
26 register_unpickle_override('sage.structure.generators',
'make_list_gens',
27 make_None)
28
29
30 __all__ = ['SageObject']
31
/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/persist.pyx in init
sage.misc.persist (build/cythonized/sage/misc/persist.c:11286)()
29 from __future__ import absolute_import
30
31 import io
32 import os
33 import sys
34
35 from textwrap import dedent
36
37 # change to import zlib to use zlib instead; but this
38 # slows down loading any data stored in the other format
39 import zlib; comp = zlib
40 import bz2; comp_other = bz2
41
42 from six.moves import cPickle as pickle
43
---> 44 from .misc import SAGE_DB
global misc = undefined
global SAGE_DB = undefined
45 from .sage_unittest import TestSuite
46
47
48 cdef _normalize_filename(s):
49 """
50 Append the .sobj extension to a filename if it doesn't already have
it.
51 """
52 if s[-5:] != '.sobj':
53 return s + '.sobj'
54
55 return s
56
57
58 def load(*filename, compress=True, verbose=True):
59 r"""
/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/misc.py in <module>()
267 @lazy_string
268 def SAGE_TMP_INTERFACE():
269 """
270 EXAMPLES::
271
272 sage: from sage.misc.misc import SAGE_TMP_INTERFACE
273 sage: SAGE_TMP_INTERFACE
274 l'.../temp/.../interface'
275 """
276 d = os.path.join(str(SAGE_TMP), 'interface')
277 sage_makedirs(d)
278 return d
279
280
281 SAGE_DB = os.path.join(DOT_SAGE, 'db')
--> 282 sage_makedirs(SAGE_DB)
global sage_makedirs = None
global SAGE_DB = None
283
284 try:
285 # Create the matplotlib config directory.
286 sage_makedirs(os.environ["MPLCONFIGDIR"])
287 except KeyError:
288 pass
289
290 #################################################################
291 # timing
292 #################################################################
293
294
295 def cputime(t=0, subprocesses=False):
296 """
297 Return the time in CPU seconds since Sage started, or with
/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/misc.py in
sage_makedirs(dir='/home/jgarcia/.sage/db')
71 EXAMPLES::
72
73 sage: from sage.misc.misc import sage_makedirs
74 sage: sage_makedirs(DOT_SAGE) # no output
75
76 The following fails because we are trying to create a directory in
77 place of an ordinary file (the main Sage executable)::
78
79 sage: sage_executable = os.path.join(SAGE_ROOT, 'sage')
80 sage: sage_makedirs(sage_executable)
81 Traceback (most recent call last):
82 ...
83 OSError: ...
84 """
85 try:
---> 86 os.makedirs(dir)
global os.makedirs = undefined
dir = '/home/jgarcia/.sage/db'
87 except OSError:
88 if not os.path.isdir(dir):
89 raise
90
91
92 #################################################
93 # Now that the variable DOT_SAGE has been set,
94 # we make sure that the DOT_SAGE directory
95 # has restrictive permissions, since otherwise
96 # possibly just anybody can easily see every
97 # command you type, since it is in the history,
98 # and every worksheet you create, etc.
99 # We do the following:
100 # 1. If there is no DOT_SAGE, we create it.
101 # 2. Check to see if the permissions on DOT_SAGE are
/opt/SageMath/local/lib/python2.7/os.pyc in
makedirs(name='/home/jgarcia/.sage/db', mode=511)
142 recursive.
143
144 """
145 head, tail = path.split(name)
146 if not tail:
147 head, tail = path.split(head)
148 if head and tail and not path.exists(head):
149 try:
150 makedirs(head, mode)
151 except OSError, e:
152 # be happy if someone already created the path
153 if e.errno != errno.EEXIST:
154 raise
155 if tail == curdir: # xxx/newdir/. exists if
xxx/newdir exists
156 return
--> 157 mkdir(name, mode)
global mkdir = <built-in function mkdir>
name = '/home/jgarcia/.sage/db'
mode = 511
158
159 def removedirs(name):
160 """removedirs(path)
161
162 Super-rmdir; remove a leaf directory and all empty intermediate
163 ones. Works like rmdir except that, if the leaf directory is
164 successfully removed, directories corresponding to rightmost path
165 segments will be pruned away until either the whole path is
166 consumed or an error occurs. Errors during this latter phase are
167 ignored -- they generally mean that a directory was not empty.
168
169 """
170 rmdir(name)
171 head, tail = path.split(name)
172 if not tail:
OSError: [Errno 13] Permission denied: '/home/jgarcia/.sage/db'
***************************************************************************
History of session input: