Python Sphinx使用例と問題解決


この文章は主にPython Sphinxの使用例と問題解決を紹介しています。ここではサンプルコードを通じて紹介された非常に詳細な紹介があります。皆さんの学習や仕事に対して一定の参考となる学習価値があります。必要な友達は参考にしてください。
説明
pipを使ってsphinxをインストールした後、教程によって新しいpyファイルを作成しました。

# run.py
def run(name):
  """
  this is how we run
  :param name name of people who runs
  """
  print(name, 'is running')
その後、新しいディレクトリを作成し、sphinx-quickstartを使ってsphinx環境を新設しました。この時、ディレクトリ構造は以下の通りです。

- doc
  - Makefile
 - build/
 - make.bat
 - source/
- run.py
このときsourceディレクトリに入り、conf.pyにファイルパスを追加します。以下の通りです。

import os
import sys
sys.path.insert(0, os.path.abspath('../..'))
次に、docで以下のコマンドを実行します。

make html
or
sphinx-build -b html ./doc/source ./doc/build
二つのコマンドは正常にドキュメントのテンプレートを生成することができますが、コメントは生成されていません。生成されたhtmlがありますが、コードのないコメント/APIドキュメント
解決を試みる
以前はバージョンが違っていましたが、virtualnvを再構築しました。まだできません。
dockerのイメージを使いました。やり直しました。同じエラーです。
非公式の教程を見てみたら、sourceのindex.rstを変更する必要があります。
例えば、私達のコードファイルはrun.pyです。index.rstに彼を追加する必要があります。以下の通りです。

API
===
.. automodule:: run
  :members:
再度実行して、まだ間違いがあることを発見して、ただ提示だけが異なっていました:ヒント

Unknown directive type “automodule” or “autoclass”
Googleの場合、配置を変更するところを発見しました。conf.pyに位置し、拡張機能を追加します。

extensions = [
    'sphinx.ext.autodoc'
]
ここではhttps://stackoverflow.com/questions/13516404/sphinx-error-unknown-directive-type-automodule-or-autoclassを参照してください。
もう一度試してみて、やっと成功しました。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。