在具有入口点的应用程序上使用 cProfile

Using cProfile on application with entry point

我知道cProfile可以这样使用

python -m cProfile script.py

但是假设我有一个打包的应用程序(可通过 pip 安装),其中在 setup.py 中定义了一个 entry_point,这样我就可以从终端调用该应用程序,而无需显式使用任何 .py 文件.在这种情况下我该如何使用 cProfile?

我在这个中找到了答案:

python -m cProfile $(which application)

如果有人使用 click for CLI 怎么办? 它似乎不适合我。

更新: 实际上 cProfile 需要 main,并添加标准

if __name__=="__main__":
    cli()

到mymodule/cli.py程序,问题解决了。