SageMath is being ported to Python 3.

This is an ongoing effort, and some things might not work in the Python3-based SageMath.

If you already want to try it however, there are several ways to go:

- just copy a folder to a CoCalc project of yours,
- or build from source in CoCalc,
- or build from source elsewhere.

Here we document the first two options.

For the third option, see the "Installation from source" section of the Sage installation manual:

In CoCalc, just copy this folder to your project:

In a CoCalc terminal, you can then use Python3-based SageMath by typing:

```
$ sage/sage
```

which will give you the famous Sage prompt

```
sage:
```

at which you can type any Sage command.

To add a "Sage Py3" Jupyter kernel to your project, we follow instructions adapted from the "Custom Jupyter Kernel" page on the CoCalc wiki:

Here, just run the following in a CoCalc terminal

```
$ cd
$ OLD_KERNEL=/ext/jupyter/kernels/sage-develop
$ NEW_KERNEL=/home/user/.local/share/jupyter/kernels/sage_py3
$ cp -arv $OLD_KERNEL $NEW_KERNEL
$ cd $NEW_KERNEL
$ open kernel.json
```

and then replace the content of `kernel.json`

by:

```
{
"display_name": "Sage Py3",
"argv": [
"/home/user/sage/sage",
"--python",
"-m",
"sage.repl.ipython_kernel",
"--matplotlib=inline",
"-f",
"{connection_file}"
]
}
```

Now if you open a Jupyter notebook worksheet (file ending in `.ipynb`

), you can select the "Sage Py3" kernel from the
"Kernel > Change kernel" menu.

Instead of copying a ready-to-go Sage folder as above, you might prefer to build from source. Here is how to do that.

In a CoCalc project with internet access and some extra disk space, open a terminal.

If your project has many cores (say 4) and you want to build in parallel, first run the following command (replacing `4`

by the number of cores available):

```
$ export MAKE='make -j4'
```

Or you could edit your `.bashrc`

, adding the following line to it.

```
export MAKE='make -j4'
```

and then either close the terminal and open it again, or run

```
source /home/user/.bashrc
```

Once you have set `MAKE`

as above (or skipped that), run:

```
$ cd
$ mkdir bin
$ git clone https://github.com/sagemath/sage.git
$ cd sage
$ make configure
$ ./configure --with-python=3
$ make build
$ ln -s /home/user/sage/sage /home/user/bin
```

You can then try:

```
$ sage --version
$ sage --python --version
```

```
$ sage -q # start Sage in quiet mode (no banner)
sage: print(version()) # SageMath version
sage: print(sys.version) # Python version
```

and try your favourite Sage commands, see if they work!

You can also install a "Sage Py3" Jupyter kernel, by following the instructions at the end of the previous section.