python - Namespaces 封装了几个层次,和 sphinx
问题描述
我正在尝试在像“com.company”这样的命名空间中使用像“project-a”这样的包,并带有隐式命名空间。
我发现 sphinx-apidoc 没有将我的包放入文档中的 toc 中,我怀疑是因为 thecom
和company
命名空间中都没有任何内容。
sphinx-apidoc 与 pyscaffold--implicit-namespaces
的标准配置一起运行,为我提供了一个基本项目。
我在 sphinx-build 输出中得到以下信息:
checking consistency... /Users/nward/Code/scratch/namespaces/project-a/docs/api/com.company.rst: WARNING: document isn't included in any toctree
在我开始研究狮身人面像代码之前有什么想法吗?
我已经在这里发布了代码 - 目前真的没什么:https ://github.com/nward/com_company_project-a
解决方案
我在尝试将 python 包转换为本机命名空间时遇到了同样的问题。
我一直在运行测试,尝试使用https://github.com/pypa/sample-namespace-packages根据文档https://packaging.python.org/namespace_packages的本机文件夹解决此问题,但具有额外的级别,例如:
setup.py
docs/
example_pkg/
# No __init__.py here.
middle_package/
# No __init__.py here.
subpackage_a/
# Sub-packages have __init__.py.
__init__.py
module.py
生成文档的命令首先是:
sphinx-apidoc --implicit-namespaces --force -o docs/ ./example_pkg/
然后
make -C docs html
问题似乎是 example_pkg.rst 不包含任何指向预期子页面的链接:
example\_pkg namespace
======================
.. py:module:: example_pkg
代替:
example\_pkg namespace
======================
.. py:module:: example_pkg
Subpackages
-----------
.. toctree::
:maxdepth: 4
example_pkg.subpackage_a
当使用pkgutil 风格的命名空间包时,一切都像魅力一样吗?
推荐阅读
- c# - Swagger 没有在 Web 界面中拾取 ModelMetadataType 属性?
- dataframe - 选择分组数据框中每个组的第 n 个元素
- python - 由于 idna 版本冲突,Travis 中的 Pip 要求安装失败
- postgresql - 带有计算的 select 语句的 PostgreSQL 异常处理
- c++ - 在类中使用成员类模板特化
- python-3.x - 标记文本标签中带有信号“激活链接”的 PyGtk 分割
- javascript - Bot 在加入和离开频道时播放相同的音频
- python - 如何在 JupyterLab 中更改降价代码片段背景?
- mongodb - MongoDb:如何将现有文档转换为预期结构?
- maven - 如何在 Maven 中为 scm:checkin 目标使用 basedir 和 workingDirectory 参数?