我想启动一个由SwaggerUI作为另一个Python脚本中的线程创建的Flask Server。启动它的命令使用-m标志(python -m swagger_server)。如何在Python脚本中使用-m标志?

我尝试使用runpy模块

runpy.run_module('swagger_server')


但它只是执行和完成而无所事事。

最佳答案

大多数程序包仅在它们位于__main__范围内时才运行,以防止它们在导入时运行。

runpy.run_module()根据__name__参数设置run_name


  如果此可选参数不是__name__,则run_name设置为None,如果命名模块是程序包,则将mod_name + '.__main__'设置为mod_name,否则将其设置为run_name
  https://docs.python.org/3/library/runpy.html


您可以通过将__main__设置为来运行软件包:

runpy.run_module('swagger_server', run_name='__main__')

07-24 17:17