Python 如何解决大型项目中OptionParser和sphinx构建的冲突?
我有一个大型Python项目,其中有许多我不想接触的外部库,我想用sphinx生成文档。我的问题是,每当我执行“生成html”时,都会出现以下错误:Python 如何解决大型项目中OptionParser和sphinx构建的冲突?,python,python-sphinx,optionparser,Python,Python Sphinx,Optionparser,我有一个大型Python项目,其中有许多我不想接触的外部库,我想用sphinx生成文档。我的问题是,每当我执行“生成html”时,都会出现以下错误: ... usage: sphinx-build [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: sphinx-build --help [cmd1 cmd2 ...] or: sphinx-build --help-commands or: sphinx-buil
...
usage: sphinx-build [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: sphinx-build --help [cmd1 cmd2 ...]
or: sphinx-build --help-commands
or: sphinx-build cmd --help
error: option -b not recognized
make: *** [html] Fehler 1
我已经发现,当我想要记录()的某些目录中存在OptionParser时,就会出现这个问题。事实上,我有很多脚本在这些目录中使用OptionParser,如果uuu name uuuuu==“uuuuu main uuuu”:…则不使用包装它。我的问题是:
如何在不接触这些脚本的情况下生成文档
有没有排除这些文件/路径的方法?我已经尝试在conf.py中排除_模式,但这不起作用。我不知道为什么。
有没有办法抓住那个错误
更新
问题原来是由autodoc
解析的树中的setup.py
文件。问题与OptionParser无关。假设其中一个脚本在模块级具有shutil.rmtree(“/”
)。检查autodoc扩展是否符合排除模式,或者您是否指定了正确的全局模式。确保从一个干净的状态开始(没有构建工件)。它与OptionParser无关。我在其中一个目录中有一个setup.py,这导致了错误。如果使用将其包装为“\uuuuuu name\uuuuu=”\uuuuu main\uuuuuuuuu”:…
是解决问题的快速方法。然而,这并不能解决实际问题。我怎样才能让autodoc尊重排除_模式
?排除_模式
是为了排除.rst文件,而不是排除Python源文件。如果您无法接触导致问题的模块/脚本,我能想到的唯一解决方案是手工编写这些模块的文档(即,不要对这些模块使用autodoc)。