我有以下包项目的文件夹结构(简化(:
projectname
├── docs
├── packagename
│ ├── somemodule
│ | ├── __init__.py (second)
| │ └── somescript.py
│ └── __init__.py (first)
├── setup.cfg
└── pyproject.toml
在第一个__init__.py
中,我做from . import somemodule
。在第二个__init__.py
中,我执行from .somescript import *
。并且CCD_ 5包含一些函数CCD_。问题是狮身人面像看不到功能。它只看到模块packagename.somemodule
——在生成的文档中没有my_sum
的函数docstring。如果使用projectname
文件夹中的pip install .
安装库,则该功能运行良好
我确信问题出在文件夹结构或导入中,因为当somescript.py
直接放置在packagename
文件夹中时没有问题。
其他信息(可能有用,也可能不有用(:
我使用"阅读文档">.readthedocs.yaml
:的一部分
python:
install:
- method: pip
path: .
UPD:
读取文档生成以下警告:
WARNING: autodoc: failed to import module 'somescript' from module 'packagename'; the following exception was raised:
No module named 'packagename.somescripts'
WARNING: html_static_path entry '_static' does not exist
UPD2:
我通过修复docs/source/packagename.rst
修复了来自autodoc
的警告,但仍然有问题
我曾经遇到过类似的问题,可以通过手动将模块的所有目录添加到路径中来解决。另请参阅此答案。