Jupyter notebook не отображается с помощью sphinx

#python #jupyter-notebook #python-sphinx

#python #jupyter-notebook #python-sphinx

Вопрос:

Я использую sphinx для документирования проекта python. Я хочу добавить какой-нибудь учебник как *.ipynb. У меня проблема с тем, как отобразить jupyter notebook. Вот мой код.

Я создал папку docs, и все команды sphinx будут выполняться в этой папке. Ниже приведена структура моего проекта

 demos/
src/
docs/
  source/
     config.py
     demos.rst
     modules.rst
     src.rst
     index.rst
     ....
  build/
 

вот содержимое demos.rst

 Demonstration
=============

demos.tuto1
----------------------
demos/tuto1.ipynb

demos.tuto2
-------------------
demos/tuto2.ipynb
 

вот содержимое index.rst

 Welcome to my python project
============================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   modules
   src
   demos


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
 

В config.py файле:

 extensions = ['sphinx.ext.autodoc', 'sphinx.ext.autodoc', 'nbsphinx']
nbsphinx_execute = 'never'
nbsphinx_allow_errors = True
source_suffix = ['.rst', '.ipynb']
html_theme = 'sphinx_rtd_theme'
 

Когда я запускаю make html , я отображаю все, кроме jupyter notebook.
Что я пропустил?

Ответ №1:

Вы перепутали синтаксис между двумя разными контекстами.

Если у вас есть toctree контекст записи, например, в вашем index.rst , то вы можете сделать это:

 .. toctree::
    :maxdepth: 2
    :caption: Contents:

    modules
    src
    demos/tuto1.ipynb
    demos/tuto2.ipynb
 

Если вы хотите иметь отдельный «обычный reST-файл», то вы можете сделать это:

 .. _link: demos/tuto1.ipynb