gue*_*tli 14 python debugging trace
我知道我可以使用它来跟踪命令执行:
python -m trace -t script.py
Run Code Online (Sandbox Code Playgroud)
但我想减少输出:只显示我的src /(pip install -e ...)中的文件.
我怎样才能做到这一点?
gue*_*tli 11
我的解决方案基于Brian Cain的答案:
export PYTHONIOENCODING=utf-8
python -m trace --ignore-dir=$HOME/lib64:$HOME/lib:/usr -t script.py
Run Code Online (Sandbox Code Playgroud)
我的virtualenv直接在$ HOME中,我的代码安装在$ HOME/src中.
这PYTHONIOENCODING=utf-8;是必需的,因为如果python代码中有非ascii字符,我会收到UnicodeErrors.
小智 5
如果您正在运行脚本,则bash可以使用以下内容:
python -m trace --ignore-dir=$(python -c 'import sys ; print ":".join(sys.path)[1:]') -t ./script.py
Run Code Online (Sandbox Code Playgroud)
对于python3:
python -m trace --ignore-dir=$(python -c 'import sys ; print(":".join(sys.path)[1:])') -t ./script.py
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以忽略您是否处于虚拟环境或更深奥的场景中.