On Friday, December 9, 2016 at 10:13:03 PM UTC, Bill Hart wrote:
>
> Ah I see. I assumed it would also try to spawn a browser or something.
>

the default ( notebook()) is indeed to try to open a browser/browser tab to 
show the URL served by the server, whereas

notebook(automatic_login=False) 

will just run the server, and let the user to do the rest (connect to the 
URL using a browser).

 

>
> On the other hand, I understand some of the networking stuff is still not 
> completed. You can of course use wget and the like so it can't be too 
> broken.
>
> Bill.
>
> On Friday, 9 December 2016 15:15:43 UTC+1, Dima Pasechnik wrote:
>>
>>
>>
>> On Friday, December 9, 2016 at 12:48:30 PM UTC, Bill Hart wrote:
>>>
>>> The Sage Notebook isn't likely to work under the WSL. It's a text 
>>> console environment only. Microsoft intended it mainly to provide Linux 
>>> development tools to people, not as a way of running graphical 
>>> applications. 
>>>
>>
>> Hmm, no, all what gets to run here is a web server (on a local port) 
>> talking to a Sage backend. Graphics happens in a web browser, so it should 
>> not be a problem of being "text console only".
>>  
>>
>>>
>>> You can probably fix the memory allocation issues though. You likely 
>>> need to increase the Pagefile system size. Windows allocates a ridiculously 
>>> small amount of memory for this.
>>>
>>> There's a walkthrough here:
>>>
>>> http://www.softwareok.com/?seite=faq-Windows-10&faq=52
>>>
>>> I use 16GB on my system (of course you need enough disk space).
>>>
>>> Bill.
>>>
>>> On Monday, 5 December 2016 11:24:21 UTC+1, GK wrote:
>>>>
>>>> Hi from me. My (more recent) experience is similar but not identical. I 
>>>> install sage from the ppa and I am having problems. Sage loads and seems 
>>>> to 
>>>> be working, but:
>>>>
>>>> ┌────────────────────────────────────────────────────────────────────┐
>>>> │ SageMath version 7.3, Release Date: 2016-08-04                     │
>>>> │ Type "notebook()" for the browser-based notebook interface.        │
>>>> │ Type "help()" for help.                                            │
>>>> └────────────────────────────────────────────────────────────────────┘
>>>> 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)
>>>>    1292                 elif split_lines:
>>>>    1293                     return '\n'.join([self._eval_line(L, 
>>>> allow_use_file=allow_use_file, **kwds)
>>>> -> 1294                                         for L in 
>>>> code.split('\n') if L != ''])
>>>>    1295                 else:
>>>>    1296                     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)
>>>>     439         a = Expect._eval_line(self, line,
>>>>     440                               allow_use_file=allow_use_file,
>>>> --> 441                               wait_for_prompt=wait_for_prompt)
>>>>     442         if a.find("the PARI stack overflows") != -1:
>>>>     443             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)
>>>>     903         try:
>>>>     904             if self._expect is None:
>>>> --> 905                 self._start()
>>>>     906             E = self._expect
>>>>     907             try:
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/interfaces/gp.pyc 
>>>> in _start(self, alt_message, block_during_init)
>>>>     239
>>>>     240     def _start(self, alt_message=None, block_during_init=True):
>>>> --> 241         Expect._start(self, alt_message, block_during_init)
>>>>     242         # disable timer
>>>>     243         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)
>>>>     480                         env=pexpect_env,
>>>>     481                         name=self._repr_(),
>>>> --> 482                         quit_string=self._quit_string())
>>>>     483             except (ExceptionPexpect, pexpect.EOF) as e:
>>>>     484                 # 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:1446)()
>>>>
>>>> sage/interfaces/sagespawn.pyx in 
>>>> sage.interfaces.sagespawn.SageSpawn.__init__ 
>>>> (/usr/lib/sagemath//src/build/cythonized/sage/interfaces/sagespawn.c:1398)()
>>>>
>>>> /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)
>>>>     196             self.name = '<pexpect factory incomplete>'
>>>>     197         else:
>>>> --> 198             self._spawn(command, args, preexec_fn, dimensions)
>>>>     199
>>>>     200     def __str__(self):
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/pexpect/pty_spawn.pyc 
>>>> in _spawn(self, command, args, preexec_fn, dimensions)
>>>>     296
>>>>     297         self.ptyproc = self._spawnpty(self.args, env=self.env,
>>>> --> 298                                      cwd=self.cwd, **kwargs)
>>>>     299
>>>>     300         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:1631)()
>>>>
>>>> /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()
>>>>     106
>>>>     107     master_fd, slave_fd = openpty()
>>>> --> 108     pid = os.fork()
>>>>     109     if pid == CHILD:
>>>>     110         # Establish a new session.
>>>>
>>>> OSError: [Errno 12] Cannot allocate memory
>>>> sage:
>>>>
>>>> and I cannot load the notebook interface:
>>>>
>>>> sage: notebook()
>>>>
>>>> ---------------------------------------------------------------------------
>>>> EnvironmentError                          Traceback (most recent call 
>>>> last)
>>>> <ipython-input-2-3728cb3d7c7d> in <module>()
>>>> ----> 1 notebook()
>>>>
>>>> sage/misc/lazy_import.pyx in sage.misc.lazy_import.LazyImport.__call__ 
>>>> (/usr/lib/sagemath//src/build/cythonized/sage/misc/lazy_import.c:3635)()
>>>>
>>>> sage/misc/lazy_import.pyx in 
>>>> sage.misc.lazy_import.LazyImport._get_object 
>>>> (/usr/lib/sagemath//src/build/cythonized/sage/misc/lazy_import.c:2242)()
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sagenb/notebook/notebook_object.py
>>>>  
>>>> in <module>()
>>>>      15 import time, os, shutil, signal, tempfile
>>>>      16
>>>> ---> 17 import notebook as _notebook
>>>>      18
>>>>      19 import run_notebook
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sagenb/notebook/notebook.py
>>>>  
>>>> in <module>()
>>>>      33
>>>>      34 # Sage libraries
>>>> ---> 35 from sagenb.misc.misc import (pad_zeros, cputime, tmp_dir, 
>>>> load, save,
>>>>      36                               ignore_nonexistent_files, 
>>>> unicode_str)
>>>>      37
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sagenb/misc/misc.py 
>>>> in <module>()
>>>>     379
>>>>     380 try:
>>>> --> 381     from sage.misc.cython import cython
>>>>     382 except ImportError:
>>>>     383     @stub
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/misc/cython.py 
>>>> in <module>()
>>>>      28
>>>>      29 # CBLAS can be one of multiple implementations
>>>> ---> 30 cblas_pc = pkgconfig.parse('cblas')
>>>>      31 cblas_libs = list(cblas_pc['libraries'])
>>>>      32 cblas_library_dirs = list(cblas_pc['library_dirs'])
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/pkgconfig-1.1.0-py2.7.egg/pkgconfig/pkgconfig.py
>>>>  
>>>> in parse(packages)
>>>>     185
>>>>     186     for package in packages.split():
>>>> --> 187         for k, v in parse_package(package).items():
>>>>     188             result[k].update(v)
>>>>     189
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/pkgconfig-1.1.0-py2.7.egg/pkgconfig/pkgconfig.py
>>>>  
>>>> in parse_package(package)
>>>>     158
>>>>     159         # Execute the query to pkg-config and clean the result.
>>>> --> 160         out = _query(package, '--cflags --libs')
>>>>     161         out = out.replace('\\"', '')
>>>>     162
>>>>
>>>> /usr/lib/sagemath/local/lib/python2.7/site-packages/pkgconfig-1.1.0-py2.7.egg/pkgconfig/pkgconfig.py
>>>>  
>>>> in _wrapper(*args, **kwargs)
>>>>      56           
>>>> Enter code here...
>>>>
>>>>
>>>>   return func(*args, **kwargs)
>>>>      57         except OSError:
>>>> ---> 58             raise EnvironmentError("pkg-config is not 
>>>> installed")
>>>>      59
>>>>      60     return _wrapper
>>>>
>>>> EnvironmentError: pkg-config is not installed
>>>> sage:
>>>>
>>>> while I do have pkg-config installed.
>>>>
>>>> On Wednesday, May 18, 2016 at 5:07:02 PM UTC+3, William wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Wednesday, May 18, 2016, Brian Beavers <drbeav...@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> 
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> 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.

Reply via email to