首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用sphinx-autoapi部署过程中的持久缓存?

在使用sphinx-autoapi部署过程中的持久缓存?
EN

Stack Overflow用户
提问于 2022-09-19 17:29:04
回答 1查看 27关注 0票数 1

我被一个问题困扰了好几天,没有解决办法。我正在尝试将用Sphinx生成的本地文档部署到Gitlab页面。

下面是我在repos根目录上的.gitlab-ci.yml,我使用的是最新的Ubuntu映像:

代码语言:javascript
复制
  stage: deploy
  script:
  - apt update
  - apt install -y python3-pip
  - rm -rf /var/lib/apt/lists/*
  - pip install -U sphinx
  - pip install sphinx-autobuild
  - pip install sphinx-autoapi
  - pip install furo
  - sphinx-build -b html -E -a ./docs/ public
  artifacts:
    paths:
    - public
  only:
  - master

我在狮身人面像构建过程中使用了标记-E-a来强制重建所有的HTML页面,但是狮身人面像仍然没有捕捉到对文档字符串的更新更改。

我正在使用sphinx,并且尝试将autoapi_dirs指向正确的目录:

代码语言:javascript
复制
autoapi_dirs = ['../mypackage']
autoapi_type = "python"

autoapi_options = [
    "members",
    "special-members",
    "undoc-members",
    "show-inheritance",
    "show-module-summary",
    "imported-members"
]

对于我的本地构建,文档可以相应地更新,但是对于Gitlab页面上的部署,每个已部署的版本仍然坚持旧的文档。我不知道我还能做些什么来解决这个问题?在部署过程中我错过了什么吗?

(谢谢你的建议:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-23 16:20:24

经过近一周的追捕,我成功地解决了上述问题:

即使每次使用pip install -e mypackage并确保conf.py指向正确的目录,也不能正确显示文档的参数和类型提示部分。

我后来发现这是由B902错误(Link:https://pypi.org/project/flake8-bugbear/)引起的。我的类中有多种不同的方法类型,我以前只对需要访问类属性的方法使用self参数,而对于不需要类属性的其他方法,我没有使用self

然而,令我费解的是,flake8和狮身人面像编译实际上并没有将它们标记为错误。在脚本中使用这些方法也没有问题。唯一的问题是,sphinx-autoapi无法为这些类方法正确地输出文档,这些类方法没有将self作为第一个参数。后来,我发现了这些错误,包括了用于flake8的额外插件来获取这些错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73777181

复制
相关文章

相似问题

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