【发布时间】:2019-06-07 09:15:13
【问题描述】:
我知道 cProfile 可以这样使用
python -m cProfile script.py
但假设我有一个在 setup.py 中定义了 entry_point 的打包应用程序(pip-installable),这样我就可以从终端调用该应用程序,而无需显式使用任何 .py 文件。在这种情况下如何使用 cProfile?
【问题讨论】:
我知道 cProfile 可以这样使用
python -m cProfile script.py
但假设我有一个在 setup.py 中定义了 entry_point 的打包应用程序(pip-installable),这样我就可以从终端调用该应用程序,而无需显式使用任何 .py 文件。在这种情况下如何使用 cProfile?
【问题讨论】:
我在这个thread找到了答案:
python -m cProfile $(which application)
【讨论】:
$(which application) 只是您的入口点脚本(带路径)。
$(...) 所做的是调用 which 返回 application 的完整路径(如果在 PATH 上)。
如果有人在 CLI 中使用 click 怎么办? 它似乎不适合我。
更新: 实际上 cProfile 需要 main,并添加标准
if __name__=="__main__":
cli()
到 mymodule/cli.py 程序,解决了这个问题。
【讨论】: