Python 使用Sphinx记录程序包_uinit__;导入
我有一个Python包,felling有一个方法:Python 使用Sphinx记录程序包_uinit__;导入,python,pandas,python-sphinx,autodoc,Python,Pandas,Python Sphinx,Autodoc,我有一个Python包,felling有一个方法: 从felling.src.email导入发送\u电子邮件 以下是Pandas如何处理导入,例如felling中的Pandas.DataFrame。\uuuuu init\uuuuuu.py我有: \felling.\uuuuu init\uuuuuuu.py 从felling.src.email导入发送电子邮件 允许某人通过以下方式导入felling.src.email.send_email: 从伐木导入发送电子邮件 最后一种导入方法是我
从felling.src.email导入发送\u电子邮件
以下是Pandas如何处理导入,例如felling中的Pandas.DataFrame
。\uuuuu init\uuuuuu.py
我有:
\felling.\uuuuu init\uuuuuuu.py
从felling.src.email导入发送电子邮件
允许某人通过以下方式导入felling.src.email.send_email
:
从伐木导入发送电子邮件
最后一种导入方法是我打算导入的主要方法。没有人从pandas.core.api导入数据帧运行,尽管这是有效的
当使用Sphinx记录伐木
时,它将发送电子邮件
记录为伐木.src.email.send\u email
而非伐木.email
。我已经通读了Pandas文档,无法理解他们是如何让Sphinx将Pandas.core.api.DataFrameasPandas.DataFrame
作为文档的
我该怎么做
示例.py
#felling.src.email
def发送电子邮件(收件人:str,主题:str):
"""
发送电子邮件
参数
----------
收件人:str
谁应该收到电子邮件
主题:str
电子邮件的主题应该是什么
"""
打印(至)
印刷品(主题)
示例.rst
伐木方法
===============
用于日志记录的包
felling.src.email
------------------------
.. 自动模块::felling.src.email
:成员:
:观察员委员会成员:
:显示继承:
伐木
├── 自述文件
├── __初始值
├── __主管道
├── 资源
│ └── logger.json
├── src
│ ├── __初始值
│ ├── 比较_logs.py
│ ├── 配置_felling.py
│ └── email.py
└── version.py
拥有一个\uuuuu init\uuuuuuupy.py
文件使得类和函数可能与模块作为文件的组织方式不直接对应。本文给出了一个很好的例子
autodoc指令像在Python中一样导入对象。指令的第一个参数应该是它要导入的对象的完全限定名,因此\uuuu init\uuuu.py
更改以允许导入的任何名称也应该可用作指令的参数
autodoc提供了几个指令,它们是常用py:module、py:class等的版本。在解析时,他们导入相应的模块并提取给定对象的docstring,将它们插入到页面源代码中合适的py:module、py:class等指令下
这意味着,对于问题,您可以使用:
。。自动功能::felling.send_电子邮件
或
。。自动模块::伐木
你能举一个例子.py
和.rst
吗?你在用intersphinx吗?我没有用intersphinx。我在问题中添加了示例.py
和.rst
,希望这对您尝试有所帮助。。自动模块::伐木。发送电子邮件
?它应该可以工作…我得到了:警告:autodoc:无法从模块'felling'导入数据'send_email.subject';引发了以下异常:没有名为“felling.send_email”的模块警告:autodoc:无法从模块“felling”导入数据“send_email.to”;引发了以下异常:没有名为“felling.send_email”的模块导入felling。send_email
失败,因为send_email属于felling,而不是moduleWell,如果felling。send_email
是一个函数,请尝试。假设felling
是一个模块或包,您也可以尝试。。automodule::felling
,查看进展情况。(顺便说一句,编辑问题以包含错误/警告)。如果这是您的软件包/模块,还包括一个简单的文件和更改模块名称的\uuuu init\uuuuu.py
。在这一点上,问题中缺少一些信息。