#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