【问题标题】:Using cProfile on application with entry point在具有入口点的应用程序上使用 cProfile
【发布时间】:2019-06-07 09:15:13
【问题描述】:

我知道 cProfile 可以这样使用

python -m cProfile script.py

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

【问题讨论】:

    标签: python cprofile


    【解决方案1】:

    我在这个thread找到了答案:

    python -m cProfile $(which application)
    

    【讨论】:

    • $(which application) 只是您的入口点脚本(带路径)。
    • @MarcinOrlowski 是的,我不知道这就是我必须用 cProfile 调用的内容。
    • 你没有。如果您知道路径,则只需按照您在问题中提到的方式放置即可。 $(...) 所做的是调用 which 返回 application 的完整路径(如果在 PATH 上)。
    【解决方案2】:

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

    更新: 实际上 cProfile 需要 ma​​in,并添加标准

    if __name__=="__main__":
        cli()
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多