ROOT cannot be called in VS Code

So to summarize: import ROOT works in regular python shell, but not in Jupyter notebook from VS Code, right?
Can you try root --notebook? If it works then it’s definitively an issue with your VS Code installation.

PS C:\Users\meles> root --notebook
PS C:\Users\meles> Error starting ROOT notebook -- please check that Jupyter is installed

D.

OK can you install Jupyter and try again ?

I have installed both notebook and la with pip, but the error persists. Are there any paths I might need to specify?

D.

Can you start Python from the command prompt (i.e. does python --version works)?
For example, on my machine:

C:\root-dev\build\x64\release>python --version
Python 3.10.11

BTW, I told you to start from a x64 Native Tools Command Prompt for VS 2022, not from PowerShell. Can you try?

Here is what I get in x64 Native Tools Command Prompt for VS 2022:

And my python is:

C:\Program Files\Microsoft Visual Studio\2022\Community>python --version
Python 3.8.10

D.

OK, so forget root --notebook. But I see you can start ROOT without calling C:\root_v6.30.02\bin\thisroot.bat beforehand. How did you set-up your environment variables?

I added 3 new entries to system PATH:

C:\root_v6.30.02\bin
C:\Users\meles\AppData\Local\Programs\Python\Python38\Scripts\
C:\Users\meles\AppData\Local\Programs\Python\Python38

And created a PYTHONPATH system variable with C:\root_v6.30.02\bin content.

D.

OK, thanks.

Do you confirm that this statement is correct?

Yes, I can confirm it. If I add all aforementioned variables, I can import ROOT in Shell:

But I get critical problems, when I add PYTHONPATH variable. It crashes Jupiter cells (where I don’t use ROOT), and sometimes it even crashes my system (blue screen). There must be some severe packages conflict in my system, but I have no clue.

D.

Well, in this case I’m not sure I can really help…

I faced the same problem with Jupyter (ipython) notebook kernel crash on Win 11. But I suspect the reason is faulty/incompatible with the local python build of distributed released binaries for Win.

I installed ROOT via root_v6.30.02.win64.vc17.exe from the release page which is precompiled for python=3.8.10 only. It looked fine at first: I could run ROOT from shell, I could import ROOT in python interactive shell and run few examples but trying to import ROOT in any ipython notebook would cause a kernel crash. Exactly the same behavior I’ve seen in all 3 cases:

  • running ipynotebok in VS Code via python extension
  • starting local jupyterlab server running jupyter notebook
  • even starting jupyter server in a recommended way: root .exe --notebook would crash

However, I managed to build ROOT 6.30.02 from source locally targeting clean install of python=3.10.11 and everything worked