我的代码目录如下所示。我需要为sub1、sub2、submoduleA1、submoduleB1等所有模块生成文档。也如子模块B2.py所示:从其他模块/子模块导入的所有模块
<workspace>
└── toolbox (main folder)
├── __init__.py
│
├── sub
│ ├── __init__.py
│ ├── sub1.py
│ └── sub2.py
│
├── subpackageA
│ ├── __init__.py
│ ├── submoduleA1.py
│ └── submoduleA2.py
│
└── subpackageB
├── __init__.py
├── submoduleB1.py
└── submoduleB2.py code[from sub import sub1
from subpackageA import submoduleA2 and so on]子模块B2.py的代码结构
from __future__ import absolute_import, division
import copy
import logging
import numpy as np
import pandas as pd
from dc.dc import DataCleaning
from sub.sub1 import ToolboxLogger
from subpackageA import pan
LOGGER = ToolboxLogger(
"MATH_FUNCTIONS", enableconsolelog=True, enablefilelog=False, loglevel=logging.DEBUG
).logger
"""
Calculations also take into account units of the tags that are passed in
"""
def spread(tag_list):
"""
Returns the spread of a set of actual tag values
:param tag_list: List of tag objects
:type tag_list: list
:return: Pandas Series of spreads
:rtype: Pandas Series
:example:
>>> tag_list = [tp.RH1_ogt_1,
tp.RH1_ogt_2,
tp.RH1_ogt_3,
tp.RH1_ogt_4,
tp.RH1_ogt_5,
tp.RH1_ogt_6]
>>> spread = pan.spread(tag_list)
"""
# use the same units for everything
units_to_use = tag_list[0].units
idxs = tag_list[0].actuals.index
spread_df = pd.DataFrame(index=idxs)
spread_series = spread_df.max(axis=1).copy()
return Q_(spread_series, units_to_use)我尝试使用anaconda提示符运行pdoc命令,方法是将它导航到工具箱文件夹,并执行以下命令
pdoc --html --external-links --all-submodules preprocess/toolbox/subpackageA执行此命令后,在工具箱下创建了一个带有subpackageA文件的“index.html”文件夹,但全部为空白。
然后,我试图通过提供特定的模块名来生成文档。
pdoc --html --external-links --all-submodules preprocess/toolbox/submoduleB2.py但是收到以下错误:文件"C:\Users\preprocess/toolbox/submoduleB2.py",第16行,从子导入sub1 ImportError: No模块名为sub.sub1
您能告诉我如何使用pdoc生成完整目录的文档吗?或者还有其他自动生成文档的包吗?我甚至尝试过Sphnix,但是在配置文件中添加模块/子模块路径时遇到了问题。
发布于 2022-07-31 08:57:47
如果pdoc3在python路径中找不到对该模块的导入,那么它似乎正在为模块抛出这种错误。一种解决办法是
import os, sys
syspath = os.path.dirname(os.path.abspath(__file__))
sys.path.append(path)进入每个子目录中的__init__.py文件。
https://stackoverflow.com/questions/72348692
复制相似问题