標籤:

Vim下調試和編譯python

有時候在用vim寫python時,編譯、調試和性能測試是一個比較麻煩的事情。本文的目的是為配置一個比較方便的vim下對python的調試、編譯和性能測試環境提供一個可行的思路。


vimrc配置

nnoremap <F5> :call CompileRunGcc()<cr>nnfunc! CompileRunGcc()n exec "w"n if &filetype == pythonn if search("@profile")n exec "AsyncRun kernprof -l -v %"n exec "copen"n exec "wincmd p"n elseif search("set_trace()")n exec "!python3 %"n elsen exec "AsyncRun -raw python3 %"n exec "copen"n exec "wincmd p"n endifnnendfuncn

運行

運行使用了vim 8.0的非同步機制,所以確保你的vim版本不低於8.0

並且使用了vim插件:AsyncRun

實際在使用時,按下F5,會打開quickfix窗口,在後台運行python,並且不會影響繼續編寫代碼,等待代碼執行完成時,便會將程序執行結果顯示在quickfix中。

運行python腳本

調試

調試工具使用了pudb,如圖所示,它提供了一個圖形化的調試窗口

具體使用時,在程序中加入set_trace()語句,具體調用pdb還是pudb取決於程序import了哪個。按下F5會自動調用調試

性能測試

性能測試使用的是line_profiler,安裝方式:

pip install line_profilern

使用時在程序的要測試的函數上一行加入

@profilen

按下F5,便會給出這個函數中具體每一行執行的時間、次數

性能測試

推薦閱讀:

零基礎入門python爬蟲(一)

TAG:Vim | Python |