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文档

尝试解决

开始以往是版本不一致,就重新建了virtualenv,还是不行;

使用了一个docker镜像,重试,结果是同样的错误

尝试看非官方的教程,发现还需要更改 source 下的 index.rst;

例如我们的代码文件是 run.py ,需要把他加到 index.rst中,如下(run就是模块名称):

API
===
.. automodule:: run
  :members:

再次执行,发现还有错,只不过提示不一样了:提示

Unknown directive type “automodule” or “autoclass”

谷歌之,发现还要改一个配置的地方;位于 conf.py 里,增加一个扩展……如下:

extensions = [
    'sphinx.ext.autodoc'
]

此处参考了 https://stackoverflow.com/questions/13516404/sphinx-error-unknown-directive-type-automodule-or-autoclass

再次尝试,终于成功了…

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Sphinx/MySQL 协议支持与SphinxQL应用实例

    Sphinx的searchd守护程序从版本0.9.9-rc2开始支持MySQL二进制网络协议,并且能够通过标准的MySQL API访问.例如,"mysql"命令行程序可以很好地工作. 以下是用MySQL客户端对Sphinx进行查询的例子: 复制代码 代码如下: $ mysql -P 9306Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server versio

  • sphinx增量索引的一个问题

    但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示: [Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating index 'news_delta': cur to old rename failed: rename /dev/shm/sphinx/data/news_delta.spa to /dev/shm/sphinx/data/news_delta.old.spa failed: No such file or direc

  • php启用sphinx全文搜索的实现方法

    本文实例讲述了php启用sphinx全文搜索的实现方法.分享给大家供大家参考.具体分析如下: 在编译安装 sphinx 的时候出现很多中文乱码,最后抛出错误卡住了,我去到官方直接下载一个 rpm 包,安装就很爽,具体错误不想研究了,忙开发呢. 安装两个包,一个是 mmseg 这个是生成中文字典的程序,一个是  csft 也就是中国版的sphinx . rpm -ivh 安装完以后,很顺利~~不到半分钟就装完了. 中文字典库,我直接去 csft 官方下载了,挺好的想得很周到. unigram.tx

  • 关于Sphinx创建全文检索的索引介绍

    全文检索的索引创建过程一般有以下几步:1.一些需要创建索引的文档(Documents). 2.将原文档传给分词组件(Tokenizer). 3.将得到的词元(Token)传给语言处理组件(Linguistic Processor). 4.将得到的词(Term)传给索引组件(Indexer).

  • 在MySQL中使用Sphinx实现多线程搜索的方法

    MySQL.Sphinx及许多数据库和搜索引擎中的查询是单线程的.比如说,在一台32个CPU核心.16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘.没错,只会使用一个. 如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例).如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组成RAID10或RAID0). 我再换个说法吧.如果你在一台单核单磁盘的机器上执行了某个查询,花了10秒,那么把同样的查询放到一台3

  • 深入解析php之sphinx

    <?php //参数筛选 //筛选cat_id=2$cl->SetFilter("cat_id",array(2));//仅在id为1.3.7的子论坛中搜索$cl->SetFilter("forum_id",array(1,3,7)); //范围筛选//筛选发布时间为今天,参数为int时间戳$cl->SetFilterRange("starttime",123,124);//筛选价格$cl->SetFilterRan

  • centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    首先附上coreseek4.1版本下载 前期准备工作: yum install make gcc g++ automake libtool MySQL-client libMySQLclient15-dev libxml2-dev libexpat1-dev autoconf automake libtool 假设我们将文件包下载在 /usr/local/src下 cd /usr/local/src tar zxvf coreseek-4.1-beta.tar.gz cd coreseek-4.

  • 浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别

    Sphinx是一个基于SQL的全文检索引擎:普遍使用于很多网站 Sphinx的特性如下: a)  高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b)  高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c)  可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可处理100 M 文档); Sphinx本身对中文的支持并不好. 主要体现在对一段话断词:英文只需按照空格对其分词即可:但对于博大精深的中文来说,却是件困

  • sphinxql如何得到结果数及show meta的详细说明

    mysql:select count(*) from main_index; 但是这个在这里却报语法错误. 第一种方法:查文档得:Aggregate functions (AVG(), MIN(), MAX(), SUM()) in column list clause are supported. Arguments to aggregate functions can be either plain attributes or arbitrary expressions. COUNT(*)

  • 使用rst2pdf实现将sphinx生成PDF

    当初项目文档是用sphinx写的,一套rst下来make html得到一整个漂亮的在线文档.现在想要将文档导出为离线的handbook pdf,于是找到了rst2pdf这个项目,作为sphinx的拓展,然后加上少量配置即可输出中文PDF. rst2pdf 简介 rst2pdf是一个将 reStructuredText 转换为 PDF 的工具,具有下列特性: 自定义页面布局 支持层叠样式表 支持内嵌TTF和Type1字体 支持几乎所有语言的语法高亮 使用reStructuredText作为源文件

随机推荐