iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
自我挑戰組

30天深入了解Pycharm系列 第 5

Day 05. Run & Debug的config設定

  • 分享至 

  • xImage
  •  

更多相關連結: https://linktr.ee/wade3c


以下提及的功能都屬於免費版有的

Run

Community版提供的config種類都只和python相關,而professional版就會對各種和python相關的框架或是前端framewok提供設定

Image.png

Working Directory

working directory決定了程式執行的起始路徑,可以避免以往要打一串路徑或是cd到特定資料夾才能執行的窘境,如果設定的不對在import套件或是load檔案的情況下都會發生找不到的錯誤

Image.png

parameters可以去設定要把哪些參數給傳進python code,而Environment variables則可以去設定執行這隻程式時會額外用到的暫時性環境變數

Execution

Image.png

  • emulate terminal in output console可以讓console輸出的結果最接近內建terminal的效果,因為平時run的時候pycharm會對output做一些調整
  • run with python console會讓我們獲得一個執行完上述code的python console,這樣我們就可以進一步的去對目前情況去寫code,細節會在以後介紹到python console的時候說到
  • redirect input from可以把text檔案內的資訊以standard input的形式給傳遞進程式

Log

有時候我們可能沒有特別使用logging去幫code寫log,而是單純用print來去判斷code的執行判斷,雖然這種作法不是best practice,但是非常容易發生在開發階段,而Pycharm的log設定可以把print在console上的資訊都給存起來

Image.png

如果寫的log只有存成檔案而沒有顯示在standard output上也可以透過shown in console把檔案內容給即時同步到console內

Debug

善用debugger的話可以更快速找出code的錯誤,並且會比使用pdb套件來改code去debug方便,不過並不是所有IDE都有很好用的debugger,Pycharm提供的debugger不僅功能多、直觀且速度很快

Debugger

會以條列的方式去顯示目前function/ class內有的全部變數,如果變數是numpy array或dataframe的話都能像spyder一樣以table的方式去呈現,近期也有加入filter和sort的功能可以去對table做更進一步的觀察(community版會是彈出視窗,professional版才會如圖所示有sciview的tab)

Image.png

如果要繼續執行可以透過左側的綠色三角形箭頭繼續,要重新開始debug session的話則用綠色的迴轉按鈕

Console

可以在斷點生效後來寫code去和目前的執行階段互動,能夠更有效的找出更多與bug相關的資訊,如果有修改到code內的變數話,這些改動都會持續在目前的debug session中生效

image.png

Exception

除了手動設定中斷點外,還能夠偵測到exceptions並自動將其設為斷點,這樣能夠更方便我們去觀察現在的變數值來找出錯誤

Image.png

Performance

除了在使用性上比pdb更方便外,根據Pycharm官方的數據在debug速度上也遠比python內建的pdb還快,主要是因為其底層有經過Cython的優化

image.png

Reference

Debugger - Features | PyCharm

Run/debug configurations | PyCharm


上一篇
Day 04. Project Structure
下一篇
Day 06.進階Debug
系列文
30天深入了解Pycharm31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言