【问题标题】:sphinx-autogen unable to find modulesphinx-autogen 找不到模块
【发布时间】:2017-04-24 18:51:49
【问题描述】:

我正在尝试实现this question 的答案之一。但是,我没有成功,因为当我运行时

> sphinx-autogen -o generated  *.rst

我得到错误

无法导入“MyMod.X”:没有名为 MyMod.X 的模块

无法导入“MyMod.Y”:没有名为 MyMod.Y 的模块

无法导入“MyMod.Z”:没有名为 MyMod.Z 的模块

在我的.rst 文件中,有一个带有以下行的:

.. 自动模块:: MyMod.X

MyMod.YMyMod.Z 也是如此)。

我在子目录docs 中运行它。在包含docs 的父目录中,还有一个子目录MyMod,其中包含__init__.pyX.pyY.pyZ.pydocs 中的conf.py 文件在import sys 之后紧跟sys.path.insert(0, os.path.abspath('../'))

我能找到的最接近的相关问题是this,但那里的答案似乎表明可以通过在路径中插入'../' 来解决这个问题,我已经这样做了。还有sphinx-autobuild可以很开心的找到这些模块,所以我觉得不是这个问题。

有趣的是,将我的.rst 文件中的行更改为.. automodule:: ../MyMod.X 可以消除错误消息,尽管在我期望的目录中似乎没有生成任何内容,然后我在sphinx-autobuild 中收到错误消息。

如何让sphinx-autogen 阅读这些模块?

【问题讨论】:

  • 我可以用 sphinx-autogen 重现错误。但是当我在 conf.py 中设置 autosummary_generate = True 并运行 sphinx-build 时,它可以工作。

标签: python-sphinx


【解决方案1】:

如果其他人有更好的答案或对此的解释,请发布,但这是我从我的问题中了解到的信息

虽然sphinx-autogen 给出了错误消息,但在我正在查看的情况下,我试图让它创建的文件仍然被创建。虽然它找不到模块(实际上,它们是函数,而不是模块,所以它找不到并不奇怪),它仍然产生了预期的输出。

【讨论】:

    猜你喜欢
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2021-07-11
    • 1970-01-01
    • 2022-12-15
    相关资源
    最近更新 更多