首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pybuilder的斯芬克斯插件?

如何使用pybuilder的斯芬克斯插件?
EN

Stack Overflow用户
提问于 2021-06-09 21:58:08
回答 1查看 119关注 0票数 0

我尝试使用pybuilder创建一个python包,并想知道如何使用sphinx插件。我已经通过sphinx启动了一个狮身人面像文档支架,并在pybuilder的build.py文件中激活了sphinx插件。

下面显示我当前的build.py:

代码语言:javascript
复制
# import required packages
from pybuilder.core import use_plugin, init
import os
import sys
import inspect

# import required plugins
use_plugin("python.core")
use_plugin("python.unittest")
use_plugin("python.install_dependencies")
use_plugin("python.flake8")
use_plugin("python.coverage")
use_plugin("python.distutils")
use_plugin("python.sphinx")

# define build attributes
name = "presentations"
version = "0.0.1"
license = "None"
default_task = ["analyze", "publish"]


@init
def set_properties(project):
    # define unittest coverage properties
    project.set_property("coverage_threshold_warn", 50)
    project.set_property("coverage_break_build", True)
    # define linting properties
    project.set_property("flake8_break_build", False)
    project.set_property("flake8_max_line_length", 120)
    project.set_property("flake8_verbose_output", True)
    # define documentation properties
    project.set_property("sphinx_builder", "html")
    __location__ = os.path.join(os.getcwd(), os.path.dirname(inspect.getfile(inspect.currentframe())))
    project.set_property("sphinx_config_path", os.path.join(__location__, '../docs'))
    project.set_property("sphinx_source_dir", os.path.join(__location__, '../src'))
    project.set_property("sphinx_output_dir", "_build/")

但是,当我运行pyb命令来构建包时,pybuilder并不生成所需的文档。我认为,除了在pybuilder的default_task文件中“分析”和“发布”之外,我还需要定义另一个build.py,以便在运行pyb命令时强制pybuilder执行sphinx插件。

用户乌斯姆编写了一个超级有用的关于如何使用pybuilder管理python项目的教程。他还证实,很难在网上找到pybuilder的所有可用属性和属性的定义列表。不幸的是,建议在pybuilder的核心代码上搜索也没有帮助我。

有人知道如何处理这个问题吗?任何想法都将不胜感激。

我正在windows机器上使用python (3.6.13)、pybuilder (0.11.17)和sphinx (4.0.2)编写代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-10 10:50:18

将sphinx_generate_documentation添加到默认任务中并更改sphinx属性就可以做到这一点。新的build.py看起来像:

代码语言:javascript
复制
# import required packages
from pybuilder.core import use_plugin, init
import os
import sys
import inspect

# import required plugins
use_plugin("python.core")
use_plugin("python.unittest")
use_plugin("python.install_dependencies")
use_plugin("python.flake8")
use_plugin("python.coverage")
use_plugin("python.distutils")
use_plugin("python.sphinx")

# define build attributes
name = "presentations"
version = "0.0.1"
license = "None"
default_task = ["analyze", "publish", "sphinx_generate_documentation"]


@init
def set_properties(project):
    # define unittest coverage properties
    project.set_property("coverage_threshold_warn", 50)
    project.set_property("coverage_break_build", True)
    # define linting properties
    project.set_property("flake8_break_build", False)
    project.set_property("flake8_max_line_length", 120)
    project.set_property("flake8_verbose_output", True)
    # define documentation properties
    project.set_property("sphinx_builder", "html")
    project.set_property("sphinx_config_path", "docs")
    project.set_property("sphinx_source_dir", "src/main/python")
    project.set_property("sphinx_output_dir", "docs/_build")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67912201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档