On Wednesday, May 18, 2016, Brian Beavers <drbeavers...@gmail.com> wrote:
> Looks like there's more going on than just a lack of pty. Here's the > result: > > Well that is just another test of pty... > sage: gp.eval('2+2') > --------------------------------------------------------------------------- > OSError Traceback (most recent call last) > <ipython-input-1-e5d4083fb83e> in <module>() > ----> 1 gp.eval('2+2') > > /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc > in eval(self, code, strip, synchronize, locals, allow_use_file, > split_lines, **kwds) > 1237 elif split_lines: > 1238 return '\n'.join([self._eval_line(L, > allow_use_file=allow_use_file, **kwds) > -> 1239 for L in code.split('\n') > if L != '']) > 1240 else: > 1241 return self._eval_line(code, > allow_use_file=allow_use_file, **kwds) > > /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/gp.pyc > in _eval_line(self, line, allow_use_file, wait_for_prompt, > restart_if_needed) > 437 a = Expect._eval_line(self, line, > 438 allow_use_file=allow_use_file, > --> 439 wait_for_prompt=wait_for_prompt) > 440 if a.find("the PARI stack overflows") != -1: > 441 verbose("automatically doubling the PARI stack and > re-executing current input line") > > /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc > in _eval_line(self, line, allow_use_file, wait_for_prompt, > restart_if_needed) > 848 try: > 849 if self._expect is None: > --> 850 self._start() > 851 E = self._expect > 852 try: > > /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/gp.pyc > in _start(self, alt_message, block_during_init) > 237 > 238 def _start(self, alt_message=None, block_during_init=True): > --> 239 Expect._start(self, alt_message, block_during_init) > 240 # disable timer > 241 self._eval_line('default(timer,0);') > > /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc > in _start(self, alt_message, block_during_init) > 423 env=pexpect_env, > 424 name=self._repr_(), > --> 425 quit_string=self._quit_string()) > 426 except (ExceptionPexpect, pexpect.EOF) as e: > 427 # Change pexpect errors to RuntimeError > > sage/interfaces/sagespawn.pyx in > sage.interfaces.sagespawn.SageSpawn.__init__ > (/usr/lib/sagemath//src/build/cythonized/sage/interfaces/sagespawn.c:1331)() > > sage/interfaces/sagespawn.pyx in > sage.interfaces.sagespawn.SageSpawn.__init__ > (/usr/lib/sagemath//src/build/cythonized/sage/interfaces/sagespawn.c:1284)() > > /usr/lib/sagemath/local/lib/python2.7/site-packages/pexpect/pty_spawn.pyc > in __init__(self, command, args, timeout, maxread, searchwindowsize, > logfile, cwd, env, ignore_sighup, echo, preexec_fn, encoding, codec_errors, > dimensions) > 191 self.name = '<pexpect factory incomplete>' > 192 else: > --> 193 self._spawn(command, args, preexec_fn, dimensions) > 194 > 195 def __str__(self): > > /usr/lib/sagemath/local/lib/python2.7/site-packages/pexpect/pty_spawn.pyc > in _spawn(self, command, args, preexec_fn, dimensions) > 286 > 287 self.ptyproc = self._spawnpty(self.args, env=self.env, > --> 288 cwd=self.cwd, **kwargs) > 289 > 290 self.pid = self.ptyproc.pid > > sage/interfaces/sagespawn.pyx in > sage.interfaces.sagespawn.SageSpawn._spawnpty > (/usr/lib/sagemath//src/build/cythonized/sage/interfaces/sagespawn.c:1520)() > > /usr/lib/sagemath/local/lib/python2.7/site-packages/ptyprocess/ptyprocess.pyc > in spawn(cls, argv, cwd, env, echo, preexec_fn, dimensions) > 218 > 219 if use_native_pty_fork: > --> 220 pid, fd = pty.fork() > 221 else: > 222 # Use internal fork_pty, for Solaris > > /usr/lib/sagemath/local/lib/python/pty.pyc in fork() > 105 return pid, fd > 106 > --> 107 master_fd, slave_fd = openpty() > 108 pid = os.fork() > 109 if pid == CHILD: > > /usr/lib/sagemath/local/lib/python/pty.pyc in openpty() > 27 except (AttributeError, OSError): > 28 pass > ---> 29 master_fd, slave_name = _open_terminal() > 30 slave_fd = slave_open(slave_name) > 31 return master_fd, slave_fd > > /usr/lib/sagemath/local/lib/python/pty.pyc in _open_terminal() > 68 continue > 69 return (fd, '/dev/tty' + x + y) > ---> 70 raise os.error, 'out of pty devices' > 71 > 72 def slave_open(tty_name): > > OSError: out of pty devices > > > Brian Beavers, Ph.D., Associate Professor > Department of Mathematics & Statistics > Stephen F. Austin State University > > On Wed, May 18, 2016 at 8:50 AM, William Stein <wst...@gmail.com > <javascript:_e(%7B%7D,'cvml','wst...@gmail.com');>> wrote: > >> >> >> On Wednesday, May 18, 2016, Brian Beavers <drbeavers...@gmail.com >> <javascript:_e(%7B%7D,'cvml','drbeavers...@gmail.com');>> wrote: >> >>> I've discovered why the notebook server (and administrative pages >>> within) loads but notebooks do not load: WSL does not yet suppot pty. When >>> I try to create a worksheet, back in the terminal Sage throws an error that >>> it is out of pty instances. >>> >>> >> What happens if you do >> >> gp.eval('2+2') >> >> in the terminal? >> >> Also, unlike sagenb, jupyter doesn't use pty's so it won't have this >> obstruction. >> >> >>> >>> >>> Brian Beavers, Ph.D., Associate Professor >>> Department of Mathematics & Statistics >>> Stephen F. Austin State University >>> >>> On Mon, May 16, 2016 at 2:31 AM, Dima Pasechnik <dimp...@gmail.com> >>> wrote: >>> >>>> one can do graphics in a browser running on the host, so this is not >>>> really a big limitation. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "sage-devel" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to sage-devel+unsubscr...@googlegroups.com. >>>> To post to this group, send email to sage-devel@googlegroups.com. >>>> Visit this group at https://groups.google.com/group/sage-devel. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "sage-devel" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to sage-devel+unsubscr...@googlegroups.com. >>> To post to this group, send email to sage-devel@googlegroups.com. >>> Visit this group at https://groups.google.com/group/sage-devel. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> Sent from my massive iPhone 6 plus. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com >> <javascript:_e(%7B%7D,'cvml','sage-devel%2bunsubscr...@googlegroups.com');> >> . >> To post to this group, send email to sage-devel@googlegroups.com >> <javascript:_e(%7B%7D,'cvml','sage-devel@googlegroups.com');>. >> Visit this group at https://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com > <javascript:_e(%7B%7D,'cvml','sage-devel%2bunsubscr...@googlegroups.com');> > . > To post to this group, send email to sage-devel@googlegroups.com > <javascript:_e(%7B%7D,'cvml','sage-devel@googlegroups.com');>. > Visit this group at https://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- Sent from my massive iPhone 6 plus. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.