TL;DR: How to make Julia find the jupyter kernel so Quarto can run?
I just installed a new version of Julia (1.8.5) and, given the problems I am dealing with, I assume the packages I had installed didn’t migrate to the new version.
I tried to render a qmd
file, but it didn’t work. Then, I went back to the basics and followed the instructions on the Using Julia webpage from the Quarto website..
I reinstalled IJulia
, however, when I ran notebook()
, I didn’t get prompted with the option to install Jupyter, as the instructions said it’d happen
The first time you run
notebook()
, it will prompt you for whether it should install Jupyter. Hit enter to have it use the Conda.jl package to install a minimal Python+Jupyter distribution (via Miniconda) that is private to Julia (not in yourPATH
)
Instead, using notebook()
opened a new tab on my browser for local Jupyter notebooks. In this tab, I can see folders like “Desktop” and “Documents” from my computer. In the Julia REPL, an information session was printed. It starts with [ Info: running setenv(`'C:\Users\hsd36\.julia\conda\3\Scripts\jupyter.exe' notebook`,["PATH=C:\\Users\\hsd36\\.julia\\conda\\3\\Library\\bin;
, but it goes on.
Seeing no way to solve this, I followed ahead and installed Revise.jl
and Conda.jl
, and finished with Conda.add("jupyter-cache")
.
Then I tried quarto render test_quarto.qmd
in a Powershell terminal, but it failed. It first says it’s starting the julia-1.8 kernel and then a list of files is listed. It ends with an error: ImportError: DLL load failed while importing _device: The specified module could not be found
. When I simply try CRTL + Shift + K
, a Quarto Preview terminal opens and informs me that Jupyter kernel 'julia-1.8' not found.
Does anyone know how to proceed from here? It seems the problem lies in the missing kernel. Ideally, I’d install a minimal Python distribution via Miniconda that is private to Julia. This installation should have been offered after the command notebook()
, but sadly it didn’t.
Edit: I have checked the answers for a very similar question here in the Discord, but it was to no avail.
Edit 2: Here’s the output after I ran quarto check
.
[>] Checking Quarto installation......OK
Version: 1.2.313
Path: C:\Users\hsd36\AppData\Local\Programs\Quarto\bin
CodePage: 1252
[>] Checking basic markdown render....OK
[>] Checking Python 3 installation....OK
Version: 3.9.5 (Conda)
Path: C:/Users/hsd36/.julia/conda/3/python.exe
Jupyter: 4.11.1
Kernels: julia-1.6, julia-1.8, python3
(\) Checking Jupyter engine render....Traceback (most recent call last):
File "C:\Users\hsd36\AppData\Local\Programs\Quarto\share\jupyter\jupyter.py", line 21, in <module>
from notebook import notebook_execute, RestartKernel
File "C:\Users\hsd36\AppData\Local\Programs\Quarto\share\jupyter\notebook.py", line 17, in <module>
from nbclient import NotebookClient
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\nbclient\__init__.py", line 6, in <module>
from .client import NotebookClient, execute # noqa: F401
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\nbclient\client.py", line 14, in <module>
from jupyter_client import KernelManager
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\jupyter_client\__init__.py", line 8, in <module>
from .asynchronous import AsyncKernelClient # noqa
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\jupyter_client\asynchronous\__init__.py", line 1, in <module>
from .client import AsyncKernelClient # noqa
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\jupyter_client\asynchronous\client.py", line 6, in <module>
from jupyter_client.channels import HBChannel
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\jupyter_client\channels.py", line 12, in <module>
import zmq.asyncio
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\zmq\__init__.py", line 103, in <module>
from zmq import backend
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\zmq\backend\__init__.py", line 31, in <module>
raise original_error from None
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\zmq\backend\__init__.py", line 26, in <module>
_ns = select_backend(first)
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\zmq\backend\select.py", line 31, in select_backend
mod = import_module(name)
File "C:\Users\hsd36\.julia\conda\3\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\Users\hsd36\.julia\conda\3\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
from . import (
ImportError: DLL load failed while importing _device: The specified module could not be found.
[>] Checking Jupyter engine render....OK