我正在使用Sphinx来记录我的项目。当我跑步时,make html
我收到了这个错误。
我已经安装了Sphinx v1.1.2
。某些文件中可能存在一些错误.rst
,但此错误消息没有帮助,因为我不知道要检查哪个文件,因为我有超过 100 个.rst
文件。所以很难一一检查文件。
有没有办法解决这个错误或至少找出哪个文件是错误的?
提前致谢。
我正在使用Sphinx来记录我的项目。当我跑步时,make html
我收到了这个错误。
我已经安装了Sphinx v1.1.2
。某些文件中可能存在一些错误.rst
,但此错误消息没有帮助,因为我不知道要检查哪个文件,因为我有超过 100 个.rst
文件。所以很难一一检查文件。
有没有办法解决这个错误或至少找出哪个文件是错误的?
提前致谢。
检查在此错误之前正在处理的模块。该模块可能缺少if __name__ == '__main__'
检查。
这里的问题是:
autodoc
当 sphinx在 rst 文件中遇到 autoXXX 指令时,它会使用扩展名从 .py 文件中获取 doc 字符串。import
如果一个模块默认假设它只是一个可执行文件(即没有检查__main__
),你会得到错误。造成 a$$ 错误的原因是大多数开发人员会在错误 args 上显示的错误消息中使用sys.argv[0]
和sys.argv[0:]
,导致在这种情况下打印完全不适当的错误消息。
如果您使用的是sphinx-apidoc并且您的包在同一文件夹中使用setuptools 和 setup.py,请确保隐藏setup()
对构造的调用if 'main' == __name__:
。