Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Sphinx记录程序包_uinit__;导入_Python_Pandas_Python Sphinx_Autodoc - Fatal编程技术网

Python 使用Sphinx记录程序包_uinit__;导入

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: 从伐木导入发送电子邮件 最后一种导入方法是我

我有一个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

从伐木导入发送电子邮件
最后一种导入方法是我打算导入的主要方法。没有人从pandas.core.api导入数据帧运行
,尽管这是有效的

当使用Sphinx记录
伐木
时,它将
发送电子邮件
记录为
伐木.src.email.send\u email
而非
伐木.email
。我已经通读了Pandas文档,无法理解他们是如何让Sphinx将Pandas.core.api.DataFrame
as
Pandas.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
。在这一点上,问题中缺少一些信息。