quarto-dev / quarto-vscode

Quarto extension for VS Code
https://marketplace.visualstudio.com/items?itemName=quarto.quarto
MIT License
112 stars 11 forks source link

Mismatch missing jupyter installation in quarto extension #123

Closed plessl closed 1 year ago

plessl commented 1 year ago

The quarto extension for VScode (version v1.56.0) suddenly stopped working for me and can no longer render code cells via jupyter (ERROR: Jupyter kernel 'julia-1.8' not found.).

I can however render the same quarto file without problem from the command line. It appears that quarto environment within VScode is different than in a shell.

If I run quarto check within a VSCode terminal I get:

quarto check

[✓] Checking Quarto installation......OK
      Version: 1.2.269
      Path: /Applications/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.11.0
      Path: /opt/homebrew/opt/python@3.11/bin/python3.11
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

[✓] Checking R installation...........(None)

      Unable to locate an installed version of R.
      Install R from https://cloud.r-project.org/

Whereas in the shell I get:

quarto check

[✓] Checking Quarto installation......OK
      Version: 1.2.269
      Path: /Applications/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.10.8
      Path: /opt/homebrew/opt/python@3.10/bin/python3.10
      Jupyter: 4.11.1
      Kernels: python3, julia-1.8

[✓] Checking Jupyter engine render....OK

[✓] Checking R installation...........(None)

      Unable to locate an installed version of R.
      Install R from https://cloud.r-project.org/

What could cause this mismatch?

plessl commented 1 year ago

After quite a bit of experimentation, I found the way to solve this problem. VScode store the python interpreter to be used on a per-workspace basis.

Using the "Python: Select Interpreter" command, it is possible to select a specific version. Selecting the right Python version once, solved the problem for me.