CERN ROOT on Windows

Hi, I just learnt about CERN ROOT. My question is, can I use it with C++ in Jupyther notebooks on Windows?

Thank you
Johan


Hello,

I believe you can, but I’ll call on the expertise of @bellenot here.

Yest it works. But note that you may have to build ROOT from source…

@bellenot As I understand it ROOT uses Xeus and Cling and these do not work in Jupyther notebooks on Windows. How come it does work?

I don’t know about Xeus, but root --notebook on Windows works

@bellenot Where can I find more detailed instructions?

Build ROOT from source, as described here:

With Python and notebook installed, then just start root --notebook:

C:\root-dev\build\x64\relwithdebinfo>root --notebook

C:\root-dev\build\x64\relwithdebinfo>[I 2026-07-21 10:55:41.519 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2026-07-21 10:55:41.530 ServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2026-07-21 10:55:41.538 ServerApp] jupyterlab | extension was successfully linked.
[W 2026-07-21 10:55:41.542 JupyterNotebookApp] 'extra_static_paths' was found in both NotebookApp and ServerApp. This is likely a recent change. This config will only be set in NotebookApp. Please check if you should also config these traits in ServerApp for your purpose.
[I 2026-07-21 10:55:41.546 ServerApp] notebook | extension was successfully linked.
[I 2026-07-21 10:55:42.980 ServerApp] notebook_shim | extension was successfully linked.
[I 2026-07-21 10:55:43.093 ServerApp] notebook_shim | extension was successfully loaded.
[I 2026-07-21 10:55:43.096 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2026-07-21 10:55:43.098 ServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2026-07-21 10:55:43.107 LabApp] JupyterLab extension loaded from C:\Python314\Lib\site-packages\jupyterlab
[I 2026-07-21 10:55:43.107 LabApp] JupyterLab application directory is C:\Python314\share\jupyter\lab
[I 2026-07-21 10:55:43.108 LabApp] Extension Manager is 'pypi'.
[I 2026-07-21 10:55:43.288 ServerApp] jupyterlab | extension was successfully loaded.
[I 2026-07-21 10:55:43.296 ServerApp] notebook | extension was successfully loaded.
[I 2026-07-21 10:55:43.299 ServerApp] Serving notebooks from local directory: C:\root-dev\build\x64\relwithdebinfo
[I 2026-07-21 10:55:43.300 ServerApp] Jupyter Server 2.20.0 is running at:
[I 2026-07-21 10:55:43.301 ServerApp] http://localhost:8888/tree?token=85d0e8c1b0cba019dad9698e74fa4e02d932f7aec2fa1bf6
[I 2026-07-21 10:55:43.304 ServerApp]     http://127.0.0.1:8888/tree?token=85d0e8c1b0cba019dad9698e74fa4e02d932f7aec2fa1bf6
[I 2026-07-21 10:55:43.306 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2026-07-21 10:55:43.381 ServerApp]

    To access the server, open this file in a browser:
        file:/C:/Users/bellenot/AppData/Roaming/jupyter/runtime/jpserver-36756-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/tree?token=85d0e8c1b0cba019dad9698e74fa4e02d932f7aec2fa1bf6
        http://127.0.0.1:8888/tree?token=85d0e8c1b0cba019dad9698e74fa4e02d932f7aec2fa1bf6

@bellenot Are these instructions for plain Windows or for Windows + WSL?

Native Windows with Visual Studio. No WSL. But note that you can also use WSL if you want…

I prefer not to use WSL. This sounds great!! I will try it out!

(post deleted by author)