【问题标题】:ReadTheDocs and autodoc fail to find my package during buildReadTheDocs 和 autodoc 在构建过程中找不到我的包
【发布时间】:2021-01-24 18:51:16
【问题描述】:

我一直在尝试在 readthedocs 上为我的首个 Python 包 QutiePy 构建文档。在本地构建文档可以正常工作,但是当我尝试在 readthedocs 上构建时,autodoc 无法填充我的部分并给出以下警告:

WARNING: autodoc: failed to import class 'main.register' from module 'QutiePy'; the following exception was raised:
No module named 'QutiePy'
WARNING: autodoc: failed to import module 'gates' from module 'QutiePy'; the following exception was raised:
No module named 'QutiePy'

我已经尝试了许多 conf.py 配置来尝试将我的包添加到 PATH 等,但我尝试过的都没有奏效。

你可以查看我使用的github repohere,我使用的是开发分支。

提前致谢。

更新:我已经发布了 RTD 日志here

更新 2:我已经发布了新的 RTD 日志here

【问题讨论】:

  • 我已经将包名更新为全小写,这并没有改变任何东西!
  • 在使用 RTD 之前,应该对 RTD 进行 RTD。具体来说,您需要配置 RTD 以在构建其文档之前安装您的包及其任何依赖项。
  • 我已经这样做了,将其设置为安装在管理菜单中,并在我的依赖项中包含一个 requirements.txt。
  • 检查 RTD 构建日志。 RTD 是否同时安装您的项目及其依赖项?
  • 它读取需求文件并说已经安装了依赖项(numpy,scipy)。我在日志中找不到对正在安装的包的任何引用,我现在已将其发布在上述问题中。

标签: python python-sphinx read-the-docs


【解决方案1】:

这里的解决方案是检查我的包是否可以从 PyPI 导入,将其添加到我的 requirements.txt 并确保在 RTD 高级设置中选择了“安装项目”。我还在 requirements.txt 中添加了 sphinxcontrib-napoleon 并将其导入到 conf.py 中,尽管我不确定这是否起作用。

【讨论】:

  • 我遇到了同样的问题,但我想确保在发布该版本之前为新版本构建文档。如果它必须从 PyPI 安装我的代码,那是行不通的。
  • 一个肮脏的解决方案可能是只发布一个开发版本到 pypi 并用它测试文档。据我所知,RTD 构建容器非常不透明且未记录。我想不出办法让它从本地源安装我的包。
  • 'Install Project' 解决了我的问题。谢谢!
猜你喜欢
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 2020-01-05
相关资源
最近更新 更多