OptionParser是否与Sphinx冲突?

发布于 2021-01-29 18:33:29

我试图在sphinx中为我的项目编写文档,并且只要sphinx在我的模块中遇到OptionParser,它就会给我:

sphinx-build: error: no such option: -b

我以为这是不可能的,所以我写了一个简单的模块检查一下:

from optparse import OptionParser

"""some comment here"""

parser = OptionParser(conflict_handler='resolve')
parser.add_option('', '--force', action='store_true', dest='force', default=False, help='gqdel will skip asking questions, and delete them all.');
parser.add_option('', '--verbose', action='store_true', dest='verbose', default=False, help='Report additional information from gqdel')

(options, args) = parser.parse_args()

"""and here"""

print "foo"

它给了我同样的错误。我的第一个样子是这样的:

some title
==========

.. automodule:: test
   :members:
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是我认为发生的情况:

    当Sphinx运行时,autodoc导入您的模块,并执行模块中的顶级代码。创建一个OptionParser实例,它处理传递给sphinx-
    build的命令行参数和选项,其中之一是
    -b

    。您的OptionParser不允许此选项。

    我会将OptionParser代码放入函数中,以便在导入模块时不执行该代码。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看