背景
想要用flameprof将cProfile生成的结果转换为火焰图。
问题现象
使用pip3 install flameprof安装后,执行如下命令报错:
# flameprof /usr/bin/python: No module named flameprof
问题排查
没想明白为什么会调用/usr/bin/python,我使用的是python3,想了好一阵子才想着去看一下falmeprof在哪里:
# whereis flameprof flameprof: /usr/bin/flameprof
再继续看它里面的内容:
# cat /usr/bin/flameprof #!/bin/sh exec python -m flameprof "$@"
原来它这里指定的是python,我的环境上python是默认指向python2的,原因就在这里。
解决办法:
把/usr/bin/flameprof里面的python改为python3