Ask Your Question

Revision history [back]

The server you have been handed is running a SageNB server. This only runs with Python 2.

Prebuilt binaries for Sage 9.1 are based on Python 3, and cannot be used for running a SageNB server.

There are many choices to make. The first choice is between

  • install a SageNB server
    • pros:
      • will look familiar to users who have worked with it so far
      • has some nice features still missing on the Jupyter side
    • cons:
      • no longer maintained
      • only works with Python 2 whose end of life was 2020-01-01
      • only works with Sage <= 9.1; will not work with Sage >= 9.2
  • install a JupyterHub server or a CoCalc server
    • pros:
      • maintained
      • good installation instructions and help channels exist
      • will work for the foreseeable future
    • cons:
      • cost of migration for users
        • learn new interface
        • migrate existing worksheets
      • some SageNB features still missing

If you really want to install a SageNB server, choose between

  • port SageNB to Python 3 (just kidding)
  • build Sage 9.0 or 9.1 from source, configuring with `--with-python=2``
  • use Sage 8.9 binaries, which are based on Python 2
  • use Sage as provided by Fedora's package manager rpm

In case you use binaries, since your server is running RedHat, prefer Fedora binaries to Debian binaries.

I cannot answer your second question as I have never dealt with migrating user data across SageNB versions. Maybe there is nothing to do.

The server you have been handed is running a SageNB server. This only runs with Python 2.

Prebuilt binaries for Sage 9.1 are based on Python 3, and cannot be used for running a SageNB server.

There are many a few choices to make. The first choice is between

  • install a SageNB server
    • pros:
      • will look familiar to users who have worked with it so far
      • has some nice features still missing on the Jupyter side
    • cons:
      • no longer maintained
      • only works with Python 2 whose end of life was 2020-01-01
      • only works with Sage <= 9.1; will not work with Sage >= 9.2
  • install a JupyterHub server or a CoCalc server
    • pros:
      • maintained
      • good installation instructions and help channels exist
      • will work for the foreseeable future
    • cons:
      • cost of migration for users
        • learn new interface
        • migrate existing worksheets
      • some SageNB features still missing

If you really want to install a SageNB server, choose between

  • port SageNB (and its dependencies) to Python 3 (just kidding)
  • build Sage 9.0 or 9.1 from source, configuring with `--with-python=2``
  • use Sage 8.9 binaries, which are based on Python 2
  • use Sage as provided by Fedora's package manager rpm

In case you use binaries, since your server is running RedHat, prefer Fedora binaries to Debian binaries.

I cannot answer your second question as I have never dealt with migrating user data across SageNB versions. Maybe there is nothing to do.

Note that when you install Sage <= 8.9 based on Python 2, sagenb is a standard package, so it gets installed as part of installing Sage.

See

  • https://github.com/sagemath/sage/tree/8.9/build/pkgs/sagenb/
  • https://github.com/sagemath/sage/blob/8.9/build/pkgs/sagenb/type

If you install Sage 9.0 or 9.1 based on Python 2, sagenb has become an optional package, see

  • https://github.com/sagemath/sage/tree/9.0/build/pkgs/sagenb/
  • https://github.com/sagemath/sage/blob/9.0/build/pkgs/sagenb/type

so after building Sage you would run sage -i sagenb to install SageNB.

If you are installing SageNB, maybe start by upgrading to Sage 8.9 in order to keep things a little simpler.