在具有入口点的应用程序上使用 cProfile
Posted
技术标签:
【中文标题】在具有入口点的应用程序上使用 cProfile【英文标题】:Using cProfile on application with entry point 【发布时间】:2019-06-07 09:15:13 【问题描述】:我知道 cProfile 可以这样使用
python -m cProfile script.py
但假设我有一个在 setup.py 中定义了 entry_point
的打包应用程序(pip-installable),这样我就可以从终端调用该应用程序,而无需显式使用任何 .py 文件。在这种情况下如何使用 cProfile?
【问题讨论】:
【参考方案1】:我在这个thread找到了答案:
python -m cProfile $(which application)
【讨论】:
$(which application)
只是您的入口点脚本(带路径)。
@MarcinOrlowski 是的,我不知道这就是我必须用 cProfile 调用的内容。
你没有。如果您知道路径,则只需按照您在问题中提到的方式放置即可。 $(...)
所做的是调用 which
返回 application
的完整路径(如果在 PATH 上)。【参考方案2】:
如果有人在 CLI 中使用 click 怎么办? 它似乎不适合我。
更新: 实际上 cProfile 需要 main,并添加标准
if __name__=="__main__":
cli()
到 mymodule/cli.py 程序,解决了这个问题。
【讨论】:
以上是关于在具有入口点的应用程序上使用 cProfile的主要内容,如果未能解决你的问题,请参考以下文章
如何使用具有多个页面和入口点的 React 和 TypeScript 设置 chrome 扩展?