Looks like there's more going on than just a lack of pty. Here's the result:
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 <[email protected]> wrote:
>
>
> On Wednesday, May 18, 2016, Brian Beavers <[email protected]> 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 <[email protected]>
>> 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 [email protected].
>>> To post to this group, send email to [email protected].
>>> 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 [email protected].
>> To post to this group, send email to [email protected].
>> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.