On Sat, Feb 15, 2014 at 4:01 PM, Eric Kangas <eric.c.kan...@gmail.com> wrote: > Hi, > > I have never had any issues building from source until now. I am on a lenovo > 3000 ram: 2.8 Gib, a dual core Intel 2140 @1.60 ghz using ubuntu 12.04 lts > installed, and using gnome classic. I have not deleted unity. My problem is > that I have to build as root to install sage 5.5. However, when I try > building not as root I get a [Errno 13] Permission denied: > '/home/user/.sage/ipython'. I do not want to build as root since I am using
Maybe try typing chown `whoami`. -R /home/user/.sage/ ? > Cantor as a front end for sage. Cantor is unable to access sage when it is > built as root. I already contacted Mr. Perez since his email was the one to > contact about iphyton issues. He referred me to the mailing list for sage > since he wasn't sure about the structure of the build for sage. > > Here is the crash report: > > *************************************************************************** > > IPython post-mortem report > > IPython version: 0.10.2 > > Platform info : os.name -> posix, sys.platform -> linux2 > > *************************************************************************** > > Current user configuration structure: > > {'Version': 0, > '__allownew': True, > 'alias': [], > 'args': [], > 'autocall': 1, > 'autoedit_syntax': 0, > 'autoexec': [], > 'autoindent': 0, > 'automagic': 1, > 'banner': 1, > 'c': '', > 'cache_size': 1000, > 'classic': 0, > 'color_info': 0, > 'colors': 'NoColor', > 'confirm_exit': 1, > 'debug': 0, > 'deep_reload': 0, > 'editor': '0', > 'execfile': [], > 'execute': [], > 'gthread': 0, > 'help': 0, > 'import_all': [], > 'import_mod': [], > 'import_some': [[]], > 'include': [], > 'interact': 1, > 'ipythondir': u'/home/candis/.sage/ipython', > 'log': 0, > 'logfile': '', > 'logplay': '', > 'magic_docstrings': 0, > 'messages': 1, > 'multi_line_specials': 1, > 'nosep': 0, > 'object_info_string_level': 0, > 'opts': Struct({'__allownew': True, 'interact': 1, 'profile': ''}), > 'pdb': 0, > 'pprint': 0, > 'profile': '', > 'prompt_in1': 'In [\\#]: ', > 'prompt_in2': ' .\\D.: ', > 'prompt_out': 'Out[\\#]: ', > 'prompts_pad_left': 1, > 'pydb': 0, > 'pylab': 0, > 'pylab_import_all': 1, > 'q4thread': 0, > 'qthread': 0, > 'quick': 0, > 'quiet': 0, > 'rcfile': 'ipythonrc', > 'readline': 1, > 'readline_merge_completions': 1, > 'readline_omit__names': 0, > 'readline_parse_and_bind': [], > 'readline_remove_delims': '', > 'screen_length': 0, > 'separate_in': '\n', > 'separate_out': '\n', > 'separate_out2': '', > 'system_header': 'IPython system call: ', > 'system_verbose': 0, > 'term_title': 1, > 'tk': 0, > 'upgrade': 0, > 'wildcards_case_sensitive': 1, > 'wthread': 0, > 'wxversion': '0', > 'xmode': 'Context'} > > *************************************************************************** > > Crash traceback: > > --------------------------------------------------------------------------- > OSError Python 2.7.3: /home/candis/programs/sage-5.5/local/bin/python > Thu Feb 13 20:18:02 2014 > 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. > > /home/candis/programs/sage-5.5/local/bin/sage-ipython in <module>() > 16 # Sage from the correct directory (in site-packages). > 17 # > 18 # IPython adds the current working directory to sys.path. If the > 19 # current working directory is $SAGE_ROOT/devel/sage, sage would be > 20 # imported from $SAGE_ROOT/devel/sage/sage, which is bad for example > 21 # because it does not contain the Cython modules. Importing sage > before > 22 # IPython changes sys.path avoids these problems. > 23 import sage > 24 > 25 > 26 __SAGE_AUTOINJECT__ = True > 27 > 28 import IPython > 29 from IPython.CrashHandler import CrashHandler > 30 > ---> 31 ipy_sage = IPython.Shell.start() > global ipy_sage = undefined > global IPython.Shell.start = <function start at 0x8a7e41c> > 32 > 33 sageCH = CrashHandler(ipy_sage.IP, 'Sage', 'sage-support', > 34 'sage-support@googlegroups.com', > 35 'http://trac.sagemath.org/sage_trac', > 36 'Sage_crash_report.txt', > 37 show_crash_traceback=False) > 38 > 39 ipy_sage.IP.set_crash_handler(sageCH) > 40 > 41 import new > 42 import os > 43 > 44 old_system = ipy_sage.IP.system > 45 > 46 > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/Shell.pyc > in start(user_ns=None) > 1227 th_mode = special_opts.pop() > 1228 except KeyError: > 1229 th_mode = 'tkthread' > 1230 return th_shell[th_mode] > 1231 > 1232 > 1233 # This is the one which should be called by external code. > 1234 def start(user_ns = None): > 1235 """Return a running shell instance, dealing with threading > options. > 1236 > 1237 This is a factory function which will instantiate the proper > IPython shell > 1238 based on the user's threading choice. Such a selector is needed > because > 1239 different GUI toolkits require different thread handling > details.""" > 1240 > 1241 shell = _select_shell(sys.argv) > -> 1242 return shell(user_ns = user_ns) > 1243 > 1244 # Some aliases for backwards compatibility > 1245 IPythonShell = IPShell > 1246 IPythonShellEmbed = IPShellEmbed > 1247 #************************ End of file <Shell.py> > *************************** > 1248 > 1249 > 1250 > 1251 > 1252 > 1253 > 1254 > 1255 > 1256 > 1257 > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/Shell.pyc > in __init__(self=<IPython.Shell.IPShell instance>, argv=None, user_ns=None, > user_global_ns=None, debug=1, shell_class=<class > 'IPython.iplib.InteractiveShell'>) > 58 # Default timeout for waiting for multithreaded shells (in seconds) > 59 GUI_TIMEOUT = 10 > 60 > 61 > #----------------------------------------------------------------------------- > 62 # This class is trivial now, but I want to have it in to publish a > clean > 63 # interface. Later when the internals are reorganized, code that > uses this > 64 # shouldn't have to change. > 65 > 66 class IPShell: > 67 """Create an IPython instance.""" > 68 > 69 def __init__(self,argv=None,user_ns=None,user_global_ns=None, > 70 debug=1,shell_class=InteractiveShell): > 71 self.IP = make_IPython(argv,user_ns=user_ns, > 72 user_global_ns=user_global_ns, > ---> 73 debug=debug,shell_class=shell_class) > global For = undefined > global more = undefined > global details = undefined > global see = undefined > global the = undefined > global __call__ = undefined > global method = undefined > global below. = undefined > 74 > 75 def mainloop(self,sys_exit=0,banner=None): > 76 self.IP.mainloop(banner) > 77 if sys_exit: > 78 sys.exit() > 79 > 80 > #----------------------------------------------------------------------------- > 81 def kill_embedded(self,parameter_s=''): > 82 """%kill_embedded : deactivate for good the current embedded > IPython. > 83 > 84 This function (after asking for confirmation) sets an internal > flag so that > 85 an embedded IPython will never activate again. This is useful > to > 86 permanently disable a shell that is being called inside a loop: > once you've > 87 figured out what you needed from it, you may then kill it and > the program > 88 will then continue to run without the interactive shell > interfering again. > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/ipmaker.pyc > in > make_IPython(argv=['/home/candis/programs/sage-5.5/local/bin/sage-ipython', > '-i', '-p', 'sage'], user_ns=None, user_global_ns=None, debug=1, > rc_override=None, shell_class=<class 'IPython.iplib.InteractiveShell'>, > embedded=False, **kw={}) > 506 # tweaks. Basically options which affect other options. I guess > this > 507 # should just be written so that options are fully orthogonal > and we > 508 # wouldn't worry about this stuff! > 509 > 510 if IP_rc.classic: > 511 IP_rc.quick = 1 > 512 IP_rc.cache_size = 0 > 513 IP_rc.pprint = 0 > 514 IP_rc.prompt_in1 = '>>> ' > 515 IP_rc.prompt_in2 = '... ' > 516 IP_rc.prompt_out = '' > 517 IP_rc.separate_in = IP_rc.separate_out = IP_rc.separate_out2 > = '0' > 518 IP_rc.colors = 'NoColor' > 519 IP_rc.xmode = 'Plain' > 520 > --> 521 IP.pre_config_initialization() > 522 # configure readline > 523 > 524 # update exception handlers with rc file status > 525 otrap.trap_out() # I don't want these messages ever. > 526 IP.magic_xmode(IP_rc.xmode) > 527 otrap.release_out() > 528 > 529 # activate logging if requested and not reloading a log > 530 if IP_rc.logplay: > 531 IP.magic_logstart(IP_rc.logplay + ' append') > 532 elif IP_rc.logfile: > 533 IP.magic_logstart(IP_rc.logfile) > 534 elif IP_rc.log: > 535 IP.magic_logstart() > 536 > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/iplib.pyc > in pre_config_initialization(self=<IPython.iplib.InteractiveShell object>) > 820 self.user_ns, # globals > 821 # Skip our own frame in searching for > locals: > 822 sys._getframe(depth+1).f_locals # locals > 823 )) > 824 > 825 def pre_config_initialization(self): > 826 """Pre-configuration init method > 827 > 828 This is called before the configuration files are processed > to > 829 prepare the services the config files might need. > 830 > 831 self.rc already has reasonable default values at this point. > 832 """ > 833 rc = self.rc > 834 try: > --> 835 self.db = pickleshare.PickleShareDB(rc.ipythondir + > "/db") > global Optional = undefined > global inputs = undefined > 836 except exceptions.UnicodeDecodeError: > 837 print "Your ipythondir can't be decoded to unicode!" > 838 print "Please set HOME environment variable to something > that" > 839 print r"only has ASCII characters, e.g. c:\home" > 840 print "Now it is",rc.ipythondir > 841 sys.exit() > 842 self.shadowhist = IPython.history.ShadowHist(self.db) > 843 > 844 def post_config_initialization(self): > 845 """Post configuration init method > 846 > 847 This is called after the configuration files have been > processed to > 848 'finalize' the initialization.""" > 849 > 850 rc = self.rc > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/Extensions/pickleshare.pyc > in __init__(self=PickleShareDB('/home/candis/.sage/ipython/db'), > root=u'/home/candis/.sage/ipython/db') > 39 import UserDict > 40 import warnings > 41 import glob > 42 > 43 def gethashfile(key): > 44 return ("%02x" % abs(hash(key) % 256))[-2:] > 45 > 46 _sentinel = object() > 47 > 48 class PickleShareDB(UserDict.DictMixin): > 49 """ The main 'connection' object for PickleShare database """ > 50 def __init__(self,root): > 51 """ Return a db object that will manage the specied > directory""" > 52 self.root = Path(root).expanduser().abspath() > 53 if not self.root.isdir(): > ---> 54 self.root.makedirs() > global c = undefined > global C = undefined > global sj = undefined > global j = undefined > global s = undefined > global n = undefined > global t = undefined > global i = undefined > global d = undefined > global S = undefined > global hashed = undefined > global set = undefined > global N = undefined > global R = undefined > 55 # cache has { 'key' : (obj, orig_mod_time) } > 56 self.cache = {} > 57 > 58 > 59 def __getitem__(self,key): > 60 """ db['key'] reading """ > 61 fil = self.root / key > 62 try: > 63 mtime = (fil.stat()[stat.ST_MTIME]) > 64 except OSError: > 65 raise KeyError(key) > 66 > 67 if fil in self.cache and mtime == self.cache[fil][1]: > 68 return self.cache[fil][0] > 69 try: > > /home/candis/programs/sage-5.5/local/lib/python2.7/site-packages/IPython/external/path.pyc > in makedirs(self=path('/home/candis/.sage/ipython/db'), mode=511) > 878 os.chown(self, uid, gid) > 879 > 880 def rename(self, new): > 881 os.rename(self, new) > 882 > 883 def renames(self, new): > 884 os.renames(self, new) > 885 > 886 > 887 # --- Create/delete operations on directories > 888 > 889 def mkdir(self, mode=0777): > 890 os.mkdir(self, mode) > 891 > 892 def makedirs(self, mode=0777): > --> 893 os.makedirs(self, mode) > 894 > 895 def rmdir(self): > 896 os.rmdir(self) > 897 > 898 def removedirs(self): > 899 os.removedirs(self) > 900 > 901 > 902 # --- Modifying operations on files > 903 > 904 def touch(self): > 905 """ Set the access/modified times of this file to the > current time. > 906 Create the file if it does not exist. > 907 """ > 908 fd = os.open(self, os.O_WRONLY | os.O_CREAT, 0666) > > /home/candis/programs/sage-5.5/local/lib/python/os.pyc in > makedirs(name=path('/home/candis/.sage/ipython/db'), mode=511) > 135 > 136 def makedirs(name, mode=0777): > 137 """makedirs(path [, mode=0777]) > 138 > 139 Super-mkdir; create a leaf directory and all intermediate ones. > 140 Works like mkdir, except that any intermediate path segment (not > 141 just the rightmost) will be created if it does not exist. This > is > 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) > global os.path = undefined > global join = undefined > global getsize = undefined > 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) > 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 > > /home/candis/programs/sage-5.5/local/lib/python/os.pyc in > makedirs(name='/home/candis/.sage/ipython', 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 N = undefined > global R = undefined > global t = undefined > global islinkt = undefined > global joint = undefined > global isdirt = undefined > global listdirR = undefined > global Nonet = undefined > global appendt = undefined > global walk = <function walk at 0xb72c441c> > global topt = undefined > global topdownt = undefined > global onerrort = undefined > global followlinksR0 = undefined > global R1 = undefined > global R2 = undefined > global namest = undefined > global errt = undefined > global dirst = undefined > global nondirsR = undefined > global new_patht = undefined > global x = undefined > global s5 = undefined > global home = undefined > global candis = undefined > global programs = undefined > global sage = undefined > global local = undefined > global lib = undefined > global python = undefined > global os.pyR6 = undefined > global s = undefined > global R6 = undefined > global c = undefined > global G = undefined > global d = undefined > global S = undefined > global sp = undefined > global execl = <function execl at 0xb72c4454> > global file = undefined > global args = undefined > global Execute = undefined > global the = undefined > global executable = undefined > global argument = undefined > global list = undefined > global replacing = undefined > global current = undefined > global process.N = undefined > global execv = <built-in function execv> > global filet = undefined > global os.pyt = undefined > global execl3 = undefined > global execle = <function execle at 0xb72c448c> > global env = undefined > global environment = undefined > global process.i = undefined > global execve = <built-in function execve> > global RB = undefined > global RC = undefined > global execlp = <function execlp at 0xb72c44c4> > global which = undefined > global searched = undefined > global along = undefined > global PATH = undefined > global execvp = <function execvp at 0xb72c4534> > global execlpB = undefined > global execlpe = <function execlpe at 0xb72c44fc> > global execvpe = <function execvpe at 0xb72c456c> > global RF = undefined > global execlpeI = undefined > global C = undefined > global process.args = undefined > global may = undefined > global be = undefined > global a = undefined > global tuple = undefined > global of = undefined > global strings.N = undefined > global _execvpe = <function _execvpe at 0xb72c45a4> > global os.pyRH = undefined > global RL = undefined > global os.pyRJ = undefined > global Z = undefined > global RD = undefined > global RG = undefined > global RI = undefined > global RK = undefined > global RH = undefined > global RJ = undefined > global sZ = undefined > global k = undefined > global r = undefined > global f = undefined > global n = undefined > global j = undefined > global rb = undefined > global Sd = undefined > global D = undefined > global y = undefined > global Wq = undefined > global r0 = undefined > global r1 = undefined > global q1 = undefined > global q = undefined > global Xq = undefined > global W = undefined > global rJ = undefined > global Nt = undefined > global PATHi = undefined > global R4 = undefined > global RE = undefined > global RA = undefined > global environR = undefined > global syst = undefined > global exc_infoR = undefined > global ENOENTt = undefined > global ENOTDIR = undefined > global funct = undefined > global argrestR = undefined > global envpathRM = undefined > global saved_exct = undefined > global saved_tbR = undefined > global fullnameR = undefined > global tb = undefined > global os.pyRL = undefined > e = undefined > global putenv = <built-in function putenv> > global key = undefined > global unsetenv = <built-in function unsetenv> > global _EnvironR = undefined > global B = undefined > global Wn = undefined > global rE = undefined > global Xd = undefined > global RS = undefined > global sJ = undefined > global Wd = undefined > global UserDictt = undefined > global __init__t = undefined > global datat = undefined > global itemst = undefined > global upper = undefined > global selfRN = undefined > global Ra = undefined > global kt = undefined > global v = undefined > global os.pyR = undefined > global Rc = undefined > global Rd = undefined > global item = undefined > global __setitem__ = undefined > global __getitem__ = undefined > global __delitem__ = undefined > global os.pyRj = undefined > global s2 = undefined > global keysR = undefined > global clear = undefined > global has_key = undefined > global __contains__ = undefined > global getRc = undefined > global failobj = undefined > global os.pyRp = undefined > global K = undefined > global rm = undefined > global Wn2 = undefined > global xA = undefined > global Wqm = undefined > global Xx = undefined > global qR = undefined > global Rk = undefined > global update = undefined > global dictt = undefined > global kwargsRk = undefined > global Re = undefined > global Rf = undefined > global os.pyRr = undefined > global Rs = undefined > global copy = undefined > global __name__t = undefined > global __module__R = undefined > global Rh = undefined > global Ri = undefined > global NameErrorRj = undefined > global Rl = undefined > global Rm = undefined > global Rn = undefined > global Ro = undefined > global Rp = undefined > global Rr = undefined > global Ru = undefined > global sf = undefined > global _ = undefined > global R_ = undefined > global RN = undefined > global Rg = undefined > global os.pyRh = undefined > global Rt = undefined > global os.pyRl = undefined > global os.pyRm = undefined > global os.pyRu = undefined > global Rv = undefined > global Rw = undefined > global Rx = undefined > global Rj = undefined > global Get = undefined > global an = undefined > global variable = undefined > global None = undefined > global it = undefined > global doesn = undefined > global exist.The = undefined > global optional = undefined > global second = undefined > global can = undefined > global specify = undefined > global alternate = undefined > global default.RN = undefined > global default = undefined > global getenv = <function getenv at 0xb72c46bc> > global Rz = undefined > global globals = undefined > global _exists = <function _exists at 0xb72def7c> > global forkt = undefined > global spawnvRA = undefined > global sV = undefined > global y0 = undefined > global r.n = undefined > global Xns = undefined > global rf = undefined > global Sx = undefined > global qi = undefined > global St = undefined > global Ni = undefined > global i = undefined > global Not = undefined > global stopped = undefined > global signaled = undefined > global exited = undefined > global P_NOWAITt = undefined > global waitpidt = undefined > global WIFSTOPPEDt = undefined > global WIFSIGNALEDt = undefined > global WTERMSIGt = undefined > global WIFEXITEDt = undefined > global WEXITSTATUSR = undefined > global pidt = undefined > global wpidt = undefined > global sts = undefined > global _spawnvef = <function _spawnvef at 0xb72defb4> > global spawnv = <function spawnv at 0xb72e202c> > mode = 511 > global integer = undefined > global arguments = undefined > global subprocess.If = undefined > global P_NOWAIT = 1 > global pid = undefined > global process.If = undefined > global P_WAIT = 0 > global process = undefined > global exit = undefined > global code = undefined > global exits = undefined > global normally = undefined > global otherwise = undefined > global SIG = undefined > global where = undefined > global signal = undefined > global that = undefined > global killed = undefined > global it.N = undefined > global spawnve = <function spawnve at 0xb72e2064> > global subprocess = undefined > global specified = undefined > global environment.If = undefined > global it.R = undefined > global spawnve5 = undefined > global s8 = undefined > global spawnvp = <function spawnvp at 0xb72e209c> > global looked = undefined > global spawnvpA = undefined > global spawnvpe = <function spawnvpe at 0xb72e20d4> > global supplied = undefined > global spawnvpeK = undefined > global spawnl = <function spawnl at 0xb72e210c> > global spawnlY = undefined > global spawnle = <function spawnle at 0xb72e2144> > global it.i = undefined > global spawnleb = undefined > global sW = undefined > global spawnlp = <function spawnlp at 0xb72e217c> > global spawnlpt = undefined > global spawnlpe = <function spawnlpe at 0xb72e21b4> > global popen2t = undefined > global tc = undefined > global l = undefined > global shell = undefined > global command = undefined > global sub = undefined > global process.On = undefined > global UNIX = undefined > global sequence = undefined > global case = undefined > global will = undefined > global passed = undefined > global directly = undefined > global to = undefined > global program = undefined > global without = undefined > global intervention = undefined > global os.spawnv.If = undefined > global string = undefined > global os.system.If = undefined > global sets = undefined > global buffer = undefined > global size = undefined > global I = undefined > global O = undefined > global pipes.The = undefined > global objects = undefined > global child_stdin = undefined > global child_stdout = undefined > global are = undefined > global returned.i = undefined > global Ns4 = undefined > global os.popen2 = undefined > global deprecated.Use = undefined > global module.t = undefined > global stackleveli = undefined > global shellt = undefined > global bufsizet = undefined > global stdint = undefined > global stdoutt = undefined > global close_fds = undefined > global warningst = undefined > global warnt = undefined > global DeprecationWarningt = undefined > global subprocesst = undefined > global PIPEt = undefined > global Popent = undefined > global isinstancet = undefined > global basestringt = undefined > global TrueR = undefined > global cmdR = undefined > global msgR = undefined > global p = undefined > global popen3c = undefined > global child_stderr = undefined > global os.popen3 = undefined > global module.R = undefined > global stderrR = undefined > global popen4c = undefined > global child_stdout_stderr = undefined > global os.popen4 = undefined > global STDOUTR = undefined > global stat_result = <type 'posix.stat_result'> > global tupRs = undefined > global _make_stat_result = <function _make_stat_result at > 0xb72e256c> > global __reduce__R = undefined > global srt = undefined > global typeRC = undefined > global _pickle_stat_result = <function _pickle_stat_result at > 0xb72e25a4> > global statvfs_result = <type 'posix.statvfs_result'> > global _make_statvfs_result = <function _make_statvfs_result at > 0xb72e25dc> > global _pickle_statvfs_result = <function _pickle_statvfs_result at > 0xb72e2614> > global os2s = undefined > global nt = undefined > global X = undefined > global __doc__RO = undefined > global builtin_module_namest = undefined > global _namesR = undefined > global ImportErrort = undefined > global posixpathR = undefined > global extendR = undefined > global ntpathR = undefined > global versiont = undefined > global findt = undefined > global os2emxpatht = undefined > global _emx_linkR = undefined > global riscospatht = undefined > global modulest = undefined > global os.pathR = undefined > global FalseR6 = undefined > global R5 = undefined > global riscosenvironR = undefined > global IterableUserDictRz = undefined > global P_WAITR = undefined > global P_NOWAITOR = undefined > global copy_regt = undefined > global _copy_regR = undefined > global pickleR = undefined > global module = undefined > 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/candis/.sage/ipython' > > *************************************************************************** > > 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 http://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/groups/opt_out. -- William Stein Professor of Mathematics University of Washington http://wstein.org -- 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 http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.