我正在尝试实现this question的一个答案。但是,我没有成功,因为当我跑
> sphinx-autogen -o generated *.rst我明白错误
导入“MyMod.X”失败:没有名为MyMod.X的模块 未能导入“MyMod.Y”:没有名为MyMod.Y的模块 导入“MyMod.Z”失败:没有名为MyMod.Z的模块
在我的.rst文件中,有一个包含以下一行:
。。自动模块::MyMod.X
( MyMod.Y和MyMod.Z也是如此)。
我正在子目录docs中运行这个程序。在包含docs的父目录中,还有一个子目录MyMod,它包含__init__.py、X.py、Y.py和Z.py。conf.py文件在docs中的行sys.path.insert(0, os.path.abspath('../'))紧跟在import sys之后。
我能找到的最相关的问题是this,但是那里的答案似乎表明,通过在路径中插入'../'来解决这个问题,我已经这样做了。而且,sphinx-autobuild可以愉快地找到这些模块,所以我不认为这是问题所在。
有趣的是,将.rst文件中的行更改为.. automodule:: ../MyMod.X可以消除错误消息,尽管在我期望的目录中似乎没有生成任何内容,然后在sphinx-autobuild中得到错误消息。
如何让sphinx-autogen在这些模块中读取?
发布于 2017-04-24 22:04:57
如果其他人有更好的答案,或对此有更好的解释,请张贴,但以下是我对我的问题的了解
尽管sphinx-autogen给出了错误消息,但在我正在查看的情况下,我试图让它创建的文件仍然被创建。虽然它找不到模块(实际上,它们是函数,而不是模块,所以它不能找到也就不足为奇了),但它仍然产生了预期的输出。
https://stackoverflow.com/questions/43595662
复制相似问题