使用sphinx自動建立API文件(一)

2021-08-25 02:44:07 字數 4048 閱讀 6652

建立test_demo為根目錄,下面分別建立docsrc資料夾。

doc:之後用來儲存生成的 html 檔案和相關配置

src:源 python 檔案

src下面的 demo 檔案分別有如下內容:

demo1:

class

demo1

():"""

english demo1.

"""defdemo1

(self, arg1):

""" some basic information.

:param str arg1: this is a arg.(has str type)

:return: some thing

"""print('demo1')

defrun(self):

""" automatically generate documents.

:return:

"""print('run')

class

demo1_ch

():"""

中文 demo1.

"""defdemo1_ch

(self, arg1):

""" 一些基本資訊

:param arg1: 這是乙個引數(沒有 str 字元型別)

:return: 資訊

"""print('demo1_ch')

defrun(self):

""" 自動生成文件

:return:

"""print('run')

demo2:

def

demo2_func

(arg1):

""" this is a test of function.

:param str arg1: this is a arg.(has str type)

:return: some thing

"""pass

defdemo2_func_ch

(arg1):

""" 一些基本資訊

:param arg1: 這是乙個引數(沒有 str 字元型別)

:return: 資訊

"""pass

cddoc目錄下。

輸入命令:sphinx-quickstart,會彈出一些選項問題。

> separate source and build directories (y/n) [n]: y

> name prefix for templates and static dir [_]:

> project name: demo

> author name(s): longgb246

> project release : 1.0

> source file suffix [.rst]:

> name of your master document (without suffix) [index]:

> do you want to use the epub builder (y/n) [n]:

> autodoc: automatically insert docstrings from modules (y/n) [n]: y

> doctest: automatically test code snippets in doctest blocks (y/n) [n]: y

> intersphinx: link between sphinx documentation of different projects (y/n) [n]: y

> todo: write "todo" entries that can be shown or hidden on build (y/n) [n]: y

> coverage: checks for documentation coverage (y/n) [n]: y

> imgmath: include math, rendered as png or svg images (y/n) [n]: y

> mathjax: include math, rendered in the browser by mathjax (y/n) [n]: y

> ifconfig: conditional inclusion of content based on config values (y/n) [n]:

> githubpages: create .nojekyll file to publish the document on github pages (y/n) [n]:

> create makefile? (y/n) [y]:

> create windows command file? (y/n) [y]:

上面是我的配置,這些之後都可以在doc/source/conf.py檔案中修改。

注意:autodoc: automatically insert docstrings from modules (y/n) [n]: y需要設定為y

上面設定對應於doc/source/conf.py中,相應的外掛程式。

生成的檔案結構如下:

(1)修改doc/source/conf.py檔案,在其中加入,下面的路徑是根據confsrc的相對路徑決定的,如果是按照上面的檔案結構,不需要修改下面**:

import os

import sys

sys.path.insert(0, os.path.abspath('./../../src'))

(2)在doc目錄下面,執行:

sphinx-apidoc

-o./source ../src/

sphinx-apidoc的使用,大致:

sphinx-apidoc [options] -o 

[exclude_pattern, …]

output_path:source 檔案

module_path:python 原始檔

(3)執行 html 檔案清理

make clean
(4)生成 html 檔案

make html
說明:這裡官方文件使用的是sphinx-build -b html sourcedir builddir,但是會生成檔案在 src 下面,建議使用sphinx-apidoc

(5)html 結果檔案

執行上面的命令後,開啟doc/build/html/index.html

生成該網頁。

使用API文件生成工具 sphinx

python第三方庫sphinx可以自動化為restful api生成文件,使用步驟如下所示 pip install sphinx mkdir document 配置方式有兩種 可以使用sphinx quickstart命令配置,基本上一路按回車就可以,最後會生成一下檔案和目錄 2.使用 sphin...

使用sphinx建立和檢視文件

1.安裝pip sudo apt get install python pip 2.安裝全文本瀏覽器lynx sudo apt get install lynx 3.使用pip安裝sphinx pip install sphinx 4.sphinx quickstart可以快速新建乙個新的文件記錄 ...

使用Swagger建立Api

1.首先建立乙個web專案,選擇mvc模板 此時會發現 config.maphttpattributeroutes 飄紅報錯.此時需在引用 microsoft.aspnet.webapi.webhost 包.然後就不報錯了.5.在global.asax呼叫剛才新增的類的register方法.6.右鍵...