# No output - Running Cadabra 2 on WSL 2 [Ubuntu 18.04] using VS Code

+1 vote

Hello,

Trouble running Cadabra 2 and generating output with the system described below:

OS: WSL 2 [Windows Subsystem for Linux 2] Ubuntu 18.04 on Windows 10 x64

Python 3.7.7.
Installation type: Anaconda 3

packages in environment at /home/audrius/anaconda3:
Name Version Build Channel

conda list sympy
packages in environment at /home/audrius/anaconda3:
Name Version Build Channel
sympy 1.5.1 py37_0

conda list jupyter
packages in environment at /home/audrius/anaconda3:
Name Version Build Channel
jupyter 1.0.0 py37
7
jupyterclient 6.1.2 py0
jupyterconsole 6.1.0 py0
jupytercore 4.6.3 py370
jupyterlab 1.2.6 pyhf63ae980
jupyterlab
server 1.1.0 py_0

Is there another conda package or packages that I should check?

Using the MS VS Code IDE, I start the Jupyter server, select the "Cadabra" kernel option.
I then run the cell containing the example code from "Using Cadabra for tensor computations in General Relativity" by L. Brewin, "1. Hello metric connection", but no output is generated, just a new cell is created. Also, the Cadabra kernel state stays "Idle".

I've attached a screenshot below:

That's a combination I had not tried yet... ;-) Have you tried whether running it using Jupyter's own notebook server works? (so starting with 'jupyter notebook' and then using the web browser notebook interface? I suspect the answer is that that does not work either, but I'd like to have it confirmed before we dig any further.

+1 vote

"Have you tried whether running it using Jupyter's own notebook server works?"

No, I had not done so.

While WSL 2 is a fully functional Linux OS, not an emulator, it is command-line only - there is no GUI desktop and no browser. With a addition of an X-server on the Windows 10 side, such as VcXsrv, one can display matplotlib output, in a separate window, generated in VS Code running on WSL side.Which is more than sufficient for scientific computing using numpy/sympy/numba/etc.

[update in following comment]

edited

If you are trying anything with Cadabra + Jupyter, please look at https://cadabra.science/jupyter.html , as there is now a new Jupyter kernel which no longer requires Xeus (only Python plus the cadabra2 python module). May make life easier.

Please take WSL-specific discussions which do not relate to VSCode to https://cadabra.science/qa/1811/installation-on-windows-subsystem-for-linux-wsl ; in short, I have verified that Cadabra (cli, jupyter and notebook interface) work with WSL2, but there are still a few rough edges.

I am using WSL2.
Unfortunately I don't know the difference between MS and Code.

To be more specific about the symptoms, what I find is that jupyter does give the New>Cadabra2 option when creating a new project, but then the kernel gets stuck whenever I evaluate something.

You most likely need to set the PYTHONPATH before you start jupyter notebook:

export PYTHONPATH=\${PYTHONPATH}:/usr/lib/x86_64-linux-gnu/python3.6/site-packages


That's for Ubuntu 18.04; for others you may need to adjust the python version in the above path. The problem is not that the kernel hangs, but that it cannot start the kernel at all, because it cannot find required package which is located at the path above.

I confirm: the magical command works like a charm on Ubuntu 18.04 with Python 3.6!!!