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 <wst...@gmail.com> wrote:

>
>
> On Wednesday, May 18, 2016, Brian Beavers <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.
> 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.

Reply via email to