我知道如何通过设置“add_module_names=False”来删除automodule指令中函数的模块前缀。Remove package and module name from sphinx function
但是它不能删除automodule指令中args的模块前缀。以下是automodule生成的文档。在
您可以看到self arg的数据类型有一个长前缀,如“PyPhysLeo.data_核心". 在
数据核心子模块
类BufferDataD 一个同时管理CPU缓冲区和GPU缓冲区的类,数据类型为double
CPU2GPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
GPU2CPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
分配CPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
allocateGPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
setZeroCPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
setZeroGPU(自身:PyPhysLeo.data_核心.BufferDataD)→无
尺寸(自身:PyPhysLeo.data_核心.BufferDataD)→整数
pybind11生成的签名总是冗长乏味的(有self arg,type可能有long module prefix)。因此,最好的方法是通过向moduleinit函数添加代码
py::options options;options.disable_function_signatures();
来禁用这些签名。然后你需要在docstring的第一行写上你自己的签名setZeroGPU()->;None是签名,它位于第一行。在
因为在配置文件默认情况下,sphinx将自动尝试从docstring的第一行读取函数签名。你终于可以得到一份漂亮的文件了。在
^{pr2}$相关问题 更多 >
编程相关推荐