I would like to run python in a Quarto
document. I followed the docs about installing and using python in Quarto, but the error stays. Here is some reproducible code:
---
title: "matplotlib demo"
format:
html:
code-fold: true
jupyter: python3
---
For a demonstration of a line plot on a polar axis, see @fig-polar.
```{python}
#| label: fig-polar
#| fig-cap: "A line plot on a polar axis"
import numpy as np
import matplotlib.pyplot as plt
r = np.arange(0, 2, 0.01)
theta = 2 * np.pi * r
fig, ax = plt.subplots(
subplot_kw = {'projection': 'polar'}
)
ax.plot(theta, r)
ax.set_rticks([0.5, 1, 1.5, 2])
ax.grid(True)
plt.show()
```
Error output:
Starting python3 kernel...Traceback (most recent call last):
File "/Applications/RStudio.app/Contents/Resources/app/quarto/share/jupyter/jupyter.py", line 21, in <module>
from notebook import notebook_execute, RestartKernel
File "/Applications/RStudio.app/Contents/Resources/app/quarto/share/jupyter/notebook.py", line 16, in <module>
import nbformat
ModuleNotFoundError: No module named 'nbformat'
I also checked with Quarto if Jupyter is installed in the terminal like this:
quarto check jupyter
Output:
[✓] Checking Python 3 installation....OK
Version: 3.7.11 (Conda)
Path: /Users/quinten/Library/r-miniconda/envs/r-reticulate/bin/python
Jupyter: 4.12.0
Kernels: julia-1.8, python3
[✓] Checking Jupyter engine render....OK
Which seems to be OK. So I was wondering if anyone knows how to fix this error?
Edit: output conda info --envs
Output of conda info:
# conda environments:
#
/Users/quinten/.julia/conda/3
/Users/quinten/Library/r-miniconda
/Users/quinten/Library/r-miniconda/envs/r-reticulate
/Users/quinten/Library/rminiconda/general
/Users/quinten/opt/anaconda3
base * /Users/quinten/opt/miniconda3
Edit: conda install Jupyter
The condo install Jupyter was installed (thanks to @shafee), now when I check with quarto if Jupyter exists, I get the following error:
quarto check jupyter
[✓] Checking Python 3 installation....OK
Version: 3.7.11 (Conda)
Path: /Users/quinten/Library/r-miniconda/envs/r-reticulate/bin/python
Jupyter: 4.11.1
Kernels: julia-1.8, python3
(/) Checking Jupyter engine render....Unable to load extension: pydevd_plugins.extensions.types.pydevd_plugin_pandas_types
Unable to load extension: pydevd_plugins.extensions.types.pydevd_plugin_pandas_types
[✓] Checking Jupyter engine render....OK
CodePudding user response:
The problem is that Quarto is referring to the r-reticulate
environment and possibly jupyter
is not installed in that environment. If thats the case, you simply need to install jupyter
in the r-reticulate
environment.
So first, activate the environment.
conda activate r-reticulate
and then install jupyter
there,
conda install jupyter
Or, if conda could not find that environment, use the path to that environment to install jupyter
in that environment,
/Users/quinten/Library/r-miniconda/envs/r-reticulate/bin/python -m pip install jupyter
Also, if you are wondering, why jupyter
command runs even though it did not exist in the r-reticulate
environment, its because you probably installed jupyter
in the base environment and quarto is detecting that jupyter
installation while checking.