当前位置: 首页 > news >正文

使用sphinx自动提取python中的注释成为接口文档

写好了代码,交付给他人使用的时候,查看代码固然可以了解各类和函数的功能细节,但接口文档能更方便的查找和说明功能。所以,一价与代码同步的接口文档是很有必要的。sphinx可以根据python中的注释,自动的生成接口文档,这样有利于保证文档和代码功能的同步。让我们来了解如何自动生成文档。

class A:'''你好!'''@staticmethoddef Aa():'''你也好!'''fun1()

看到类和函数中,都加入了注释。

  1. 安装shpinx
pip install sphinx -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com

使用国内的镜像安装比较快。
3. 配置shpinx

$ cd myproject
$ sphinx-quickstart
Enter the root path for documentation.
> Root path for the documentation [.]: doc
> Project name: XXX
> Author name(s): XXX
> Project version []: 1.0
> Project release [1.0]:
> Project language [en]: zh_CN  #如果注释中有中文,这里必须设置。否则生成接口文档出错。
> autodoc: automatically insert docstrings from modules (y/n) [n]: y
其它项都选择默认

完成之后,会在当前目录创建 doc 目录,所有sphinx相关的文件都在 doc目录下。

$ ls doc/
_build  conf.py  index.rst  Makefile  _static  _templates
$ vi doc/conf.py  #修改文件内容
sys.path.insert(0, os.path.abspath('.')) 
sys.path.insert(0, os.path.abspath('..')) # 缺少此行会导致在make html时提示 __import__出错,找不到module。 所以必须把上一级目录(即代码所在目录)include进来$ sphinx-apidoc -o doc/ .
Creating file doc/a.rst.
Creating file doc/modules.rst# 把生成的 doc/modules.rst添加到index.rst
$ vi doc/index.rstContents:.. toctree:::maxdepth: 2modules.rst生成html页面
$ cd doc
$ make html

生成的html文档,在doc/_build/html里。

sphinx对仅工作在python2.7 或python3上。当文件中有中文时,可能会报错:‘ascii’ codec can’t decode byte 0xe2 in position xxx。可以在报错的地方加入:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

http://www.mrgr.cn/news/8548.html

相关文章:

  • 信息泄露屏蔽-配置错误页面以屏蔽敏感信息(Tomcat )
  • graphrag论文精读
  • 0.91寸OLED迷你音频频谱
  • 数学建模学习(127):基于Python的模糊最佳-最差法(Fuzzy BWM)在多准则决策中的应用
  • WPF—XAML数据绑定
  • JUC并发编程-JMM
  • RnB编曲:4Chord进行 Swing律动 音阶调式 转音 纯和声段落 主旋律和声
  • [C++] 异常详解
  • 【面试】jvm栈默认大小
  • emplace_back和push_back超详细讲解+常见问题分析[more cpp-5]
  • LeetCode 算法:跳跃游戏 c++
  • Neo4j 数据库介绍
  • 【微信小程序】使用 npm 包 - API Promise化-- miniprogram-api-promise
  • mysql 修改表的名字
  • Selenium + Python 自动化测试21(PO+HTML+Mail)
  • 如何优雅处理异步组件加载:Vue 3 的 Suspense 特性
  • 真的爽到了!Coze的黑神话 “循环“ 闪亮登场,啥都能循环,让你一次通关!
  • 【STM32】串口(异步通信部分)
  • 基于PHP的文件包含介绍
  • 记一次NULL与空字符串导致的分组后产生重复数据