<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一款 極其強大的Python調(diào)試工具

          共 2257字,需瀏覽 5分鐘

           ·

          2021-05-12 12:49

          Birdseye是一個Python調(diào)試器,它在函數(shù)調(diào)用中記錄表達式的值,并讓你在函數(shù)**退出**后輕松查看它們,例如:

          無論你如何運行或編輯代碼,都可以使用Birdseye。只需要你安裝好依賴:


          pip install birdseye


          并在代碼函數(shù)上方添加  @eye  裝飾器(如上動圖所示),即可根據(jù)需要運行函數(shù),并在瀏覽器中查看結(jié)果。

          它還可以與一些常用工具集成在一起,如 Pycharm 和 Vscode,以提供更流暢的體驗,后續(xù)我們會介紹如何將其與這些工具結(jié)合使用。

          它不僅僅能夠單步執(zhí)行,還能在循環(huán)迭代中來回移動,并查看所選表達式的值如何變化:


          通過 birdseye 你能很容易地知道哪些表達式引發(fā)了異常:


          你也能夠展開具體的數(shù)據(jù)結(jié)構(gòu)和對象以查看其內(nèi)容:


          調(diào)用會按功能組織(文件組織)并進行時間排序進行顯示,讓你一目了然地看到發(fā)生了什么:


          1.快速上手



          首先,使用 pip 安裝 birdseye :

          pip install birdseye


          然后,對需要進行調(diào)試的函數(shù)使用eye裝飾器:

          from birdseye import eye

          @eye
          def foo():


          在你調(diào)用該函數(shù)完成后,在終端運行命令打開Birdseye的Web服務(wù):

          python -m birdseye


          在瀏覽器打開 http://localhost:7777 就能看到需要調(diào)試的函數(shù)執(zhí)行流程了。點擊下圖的按鈕即可跳轉(zhuǎn)到最新的函數(shù)調(diào)用。


          2.在Pycharm中集成調(diào)試



          在 Pycharm 的 Settings 中,點擊 Plugins 插件市場搜索 birdseye 點擊 install 安裝。


          安裝完成后重啟Pycharm,就可以在 Pycharm 中使用 birdseye了:



          默認情況下,該插件還可以為你自動運行Birdseye服務(wù)器,因此就不需要輸入 python -m birdseye 那行命令了。

          3.在VSCode中集成調(diào)試



          在VSCode中繼承調(diào)試Birdseye也非常方便,點擊左側(cè)的擴展商店,在彈出框中輸入搜索 birdseye,并點擊 install 安裝:



          安裝完成后,點擊 F1 輸入Birdseye,就能顯示調(diào)試界面:


          如果無法正常顯示右側(cè)調(diào)試界面,并提示未安裝birdseye,但實際上你已經(jīng)安裝成功了,這一般是路徑錯誤導致的,請在擴展設(shè)置中手動更改python路徑為你安裝了Birdseye的Python。




          4.美中不足



          Birdseye 是一個非常強大的調(diào)試工具,但我認為這還是有缺點可以改善的:

          1.為了防止堆棧過大,每個迭代它最多只保留6個(前三、末三)元素:


          因此如果你想看一些特殊元素值的執(zhí)行情況,它可能不會如你所愿。

          不過,不需要擔心某些分支你調(diào)試不到,因為 birdseye 有個保險機制:如果一個表達式僅在某種特定情況下會被執(zhí)行,那么執(zhí)行時的元素也會被加入到可調(diào)試元素中

          2.由于需要記錄堆棧,程序會大大減慢速度,因此它絕對不適合上到生產(chǎn)環(huán)境。

          3.每個函數(shù)調(diào)用,Birdseye 都需要收集許多數(shù)據(jù),對于某些極其復雜的函數(shù)調(diào)用,可能會引發(fā)內(nèi)存問題。

          如果你不擔心這三個缺點,而且希望能快速方便地看到函數(shù)中不同分支的執(zhí)行情況,那么Birdseye就是你的不二之選。我繼續(xù)創(chuàng)作,謝謝!




          推薦閱讀:

          入門: 最全的零基礎(chǔ)學Python的問題  | 零基礎(chǔ)學了8個月的Python  | 實戰(zhàn)項目 |學Python就是這條捷徑


          干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 |   從萬眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |


          趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!


          AI: 會做詩的機器人 | 給圖片上色 | 預測收入 | 碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          年度爆款文案


          點閱讀原文,領(lǐng)AI全套資料!

          瀏覽 11
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品多人P群无码视频 | 在线国产福利视频 | 日韩精品二区中文字 | 亚洲+日产+专区 | 久久99高清 |