Error: jupyter nbconvert is not installed / jupyter-nbconvert not found (tested)

Jupyter command `jupyter-nbconvert` not found means the environment that provides your jupyter command has no nbconvert package. Run pip install nbconvert with that same environment's Python. The next errors you may hit (xelatex for PDF, Playwright for webpdf, NoSuchKernel for --execute) are reproduced below too.

1. Reproduce and fix, step by step

run.sh starts from a fresh Python 3.13 venv that only has jupyter_core (the package that provides the jupyter command), then adds packages one at a time. The $ pip install ... lines are labels; the installs are done with uv pip into the same venv. demo.ipynb has one cell, print(6 * 7).

cd /tmp/jn408
uv() { UV_LINK_MODE=copy /tmp/uvbin397/uv "$@"; }
uv venv -q -p 3.13 ve; export PATH=/tmp/jn408/ve/bin:$PATH
echo '$ pip install jupyter_core   # what some setups end up with'
uv pip install -q -p ve/bin/python jupyter_core
echo '$ jupyter nbconvert --to html demo.ipynb'
jupyter nbconvert --to html demo.ipynb 2>&1 | tail -1
echo '$ jupyter --version | grep nbconvert'
jupyter --version | grep nbconvert
echo
echo '$ pip install nbconvert && jupyter nbconvert --to html demo.ipynb'
uv pip install -q -p ve/bin/python nbconvert
jupyter nbconvert --to html demo.ipynb 2>&1 | grep NbConvertApp
echo
echo '$ jupyter nbconvert --to pdf demo.ipynb'
jupyter nbconvert --to pdf demo.ipynb 2>&1 | tail -1
echo '$ jupyter nbconvert --to webpdf demo.ipynb'
jupyter nbconvert --to webpdf demo.ipynb 2>&1 | tail -1
echo '$ jupyter nbconvert --to html --execute demo.ipynb'
jupyter nbconvert --to html --execute demo.ipynb 2>&1 | tail -1
echo
echo '$ pip install ipykernel && jupyter nbconvert --to notebook --execute --stdout demo.ipynb | grep text'
uv pip install -q -p ve/bin/python ipykernel
jupyter nbconvert --to notebook --execute --stdout demo.ipynb 2>/dev/null | grep -A1 '"text"'

Output (jupyter_core 5.9.1, nbconvert 7.17.2):

$ pip install jupyter_core   # what some setups end up with
$ jupyter nbconvert --to html demo.ipynb
Jupyter command `jupyter-nbconvert` not found.
$ jupyter --version | grep nbconvert
nbconvert        : not installed

$ pip install nbconvert && jupyter nbconvert --to html demo.ipynb
[NbConvertApp] Converting notebook demo.ipynb to html
[NbConvertApp] Writing 276856 bytes to demo.html

$ jupyter nbconvert --to pdf demo.ipynb
OSError: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex.
$ jupyter nbconvert --to webpdf demo.ipynb
RuntimeError: Playwright is not installed to support Web PDF conversion. Please install `nbconvert[webpdf]` to enable.
$ jupyter nbconvert --to html --execute demo.ipynb
jupyter_client.kernelspec.NoSuchKernel: No such kernel named python3

$ pip install ipykernel && jupyter nbconvert --to notebook --execute --stdout demo.ipynb | grep text
     "text": [
      "42\n"

2. Checklist

  1. jupyter --version: is nbconvert listed as installed?
  2. which jupyter vs python -m pip show nbconvert: same environment?
  3. PDF: install TeX (xelatex), or use --to webpdf with nbconvert[webpdf].
  4. --execute: install ipykernel in the environment whose kernel the notebook names.

Related: Jupyter kernel not found (NoSuchKernel), pip error: externally-managed-environment, plotly: Mime type rendering requires nbformat.

Frequently asked questions

How do I fix "jupyter nbconvert is not installed"?

Install nbconvert into the same environment as the jupyter command: path/to/env/bin/python -m pip install nbconvert.

Why does nbconvert --to pdf fail with xelatex not found?

PDF export goes through LaTeX; install a TeX distribution with xelatex, or use --to webpdf after pip install "nbconvert[webpdf]".

Why does nbconvert --execute say No such kernel named python3?

The environment has no Jupyter kernel; pip install ipykernel.

Written with AI assistance. Measured on 2026-10-23 with jupyter_core 5.9.1, nbconvert 7.17.2 and ipykernel from PyPI, Python 3.13 on Linux. The script ran verbatim and the output was pasted unedited. PlainTables is our extension; Jupyter is free.