您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何進行Pycharm代碼的調試及運行”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何進行Pycharm代碼的調試及運行”吧!
1、準備工作
(1)Python版本為2.7或者更高版本
(2)已經創建了一個Python工程并且添加了內容,具體參考: Getting Started tutorial
2、第一步——運行代碼
打開之前編寫的Solver.py文件,在編輯框中右鍵,選擇快捷菜單中的“Run 'Solver'”選項。
此時腳本文件正常運行并在調試工具窗口中顯示程序的輸出值:
接下來我們對這兩步操作的具體內容做詳細的解釋。
3、什么是Run/Debug模式
每個需要運行/調試的腳本文件都需要一個特殊的配置文件來指定其腳本名稱、所在目錄以及其他重要的運行調試信息。Pycharm已經集成了這種配置文件,避免用戶手動去創建。
每次當你單擊Run或者Debug按鈕時(或者在快捷菜單中執行相同操作),實際上都是將當前的運行/調試配置文件加載到當前的調試模型中。
如果你仔細觀察第一張圖片就會發現,在組合框中根本就沒有 run/debug的相關信息,知道第二張圖片中它們才出現。這就意味著當執行運行/調試命令的時候,Solver腳本的run/debug配置文件才會自動生成,正如現在所顯示的這樣。
此時再主工具欄中Run(綠色箭頭按鈕)和Debug(綠色甲殼蟲按鈕)兩個按鈕變得可用:
同時這兩個圖標還是半透明,也就意味著他們臨時的,即由Pycharm自動創建的。
OK,單擊下拉箭頭查看當前的可用命令操作:
如果你已經設置了多個run/debug配置方案,它們將都會顯示在這里下拉列表中,單擊選中一個作為當前工程的run/debug配置文件。
4、保存run/debug配置信息
在上圖的下拉列表中,單擊Edit configuration選項,打開run/debug配置編輯窗口:
在左側目錄中將會出現兩個節點:Python和Default。在第一個節點目錄下有一個單一的配置選項'Solver',在第二個選項下則有很多配置信息。
這意味著什么呢?
在Default節點下,你只能看到框架的名稱或者模式名稱,如果你創建一個新的Run/Debug配置文件,它將會在所選中的模式分支下進行創建,如果你更改了Default節點下的設置,相應的與其相關的所有配置文件都會更改。
例如,你想將Pycharm中所用到的Python解釋器替換成遠程或者本地解釋器,就可以通過更改Python頁面下的解釋器設置,這樣所有新建的調試配置文件都會使用這個新的解釋器。
早Python節點下,只用單一的配置選項'Solver',它屬于Python類型的配置,但與Default節點下的Python機制并不相同,它使用一個非透明的圖標進行的表示,這是用來指示當前配置文件的保存狀態的,當你保存配置文件之后圖標即變為非透明狀態。例如,我們在Python類型下為當前的Solver腳本新建一個配置文件,取名'Solver1'。
如果你對已存在的配置文件做了任何更改,這些更改只會應用于對應的腳本區域。
5、正式運行
我們已經能夠通過一種非常直接的方式,接下來我們尋求其他方法來運行腳本。
正如我們所知,運行腳本意味著加載當前的調試配置文件,因此,運行腳本主要遵循以下流程:
(1)在主工具欄中,單擊run/debug組框,確認當前的調試配置文件信息
(2)做下面的工作(三選一即可):
單擊運行按鈕,加載配置文件
按下Shift+F10快捷鍵
在主菜單上,選擇Run → Run
此時,我們可以在Run tool window.窗口中觀察程序的運行結果。
6、運行測試程序
我們這里并不討論代碼測試的重要性,而是探討Pycharm如何幫助我們完成這一功能。
7、選擇一個測試器
首先,需要指定一個測試器。單擊工具欄的設置按鈕,打開Settings/Preferences對話框,然后單擊進入Python Intergated Tools頁面(可以通過搜索功能找到),默認選擇如下:
在這里我們選擇Nosetests,保存并關閉對話框。
8、創建一個test程序塊
首先我們創建一個test實例。Pycharm提供了一種非常智能的創建測試代碼的方法:單擊選中類名然后按下Ctrl+Shift+T快捷鍵,或者在主菜單中選擇Navigate → Test,如果test程序已存在,則會直接跳轉到對應代碼,否則創建它:
按照系統提示進行操作,Pycharm會顯示如下對話框:
單擊OK按鈕,查看創建結果:
此時Pycharm已經自動創建了一個測試類,當然這只是一個類框架,需要我們手動編寫測試函數。
9、運行測試代碼
一切就緒后,右擊測試類名,在彈出的快捷菜單中選擇運行命令:
觀察運行狀態欄中 Test Runner tab的輸出結果:
10、調試運行
首先要弄清楚,為什么要進行調試?假設我們的程序在運行過程中命中了一個錯誤,那我們如何定位錯誤發生的位置?這就需要進行調試。
在Pycharm中我們可以在其中直接對程序進行調試,唯一需要做的準備工作就是在程序必要的地方加設斷點,接下來我們進行詳細的介紹:
11、什么是斷點?
一個breakpoint標記了一個行的位置,當程序運行到該行代碼的時候,Pycharm會將程序暫時掛起以方便我們對程序的運行狀態進行分析。Pycharm支持若干中類型的斷點 types of breakpoints,可以通過對應圖標進行分辨。
這里我們采用Python的行斷點為例進行介紹
12、設置斷點
方法非常簡單,單擊代碼左側的空白灰色槽即可:
注意斷點會將對應的代碼行標記為紅色,這種顏色標記目前還不能被用戶所更改,我們會盡快出臺解決方案。
順便說一句,取消斷點的操作也很簡單,在同樣位置再次單擊即可。
當你將鼠標指針懸停在斷點上方時,Pycharm會顯示斷點的關鍵信息,行號以及腳本屬性,如果你希望更改該斷點的屬性,右擊斷點:
可以嘗試對斷點屬性進行個性化更改,然后觀察圖標的變化。
13、代碼調試
接下來,我們正式開始對代碼進行調試。
首先從配置文件組框中選擇同名的'Solver'文件作為當前調試的配置文件,然后單擊調試按鈕(綠色甲殼蟲樣式的按鈕):
接下來會Pycharm會執行以下操作:
(1)PyCharm開始運行,并在斷點處暫停
(2)斷點所在代碼行變藍,意味著Pycharm程序進程已經到達斷點處,但尚未執行斷點所標記的代碼。
(3)Debug tool window窗口出現,顯示當前重要調試信息,并允許用戶對調試進程進行更改。
雖然Pycharm使用手冊中已經完整提供了調試窗口中所有控件的功能信息,我們這里仍然對其進行簡要介紹。我們發現窗口分為兩個選項卡:Debugger tab and the Console tab。
(1)Debugger窗口分為三個可見區域:Frames, Variables, 和 Watches。這些窗口列出了當前的框架、運行的進程,方便用戶查看程序空間中變量的狀態等。當你選擇一個框架,就會顯示出相關的變量信息,當然這些區域都是可以折疊隱藏的。
(2)Console窗口顯示當前的控制臺輸出信息,默認這個窗口位于Debugger之下,可以通過單擊其標簽將其前置顯示。
當然我們可以改變這些窗口的擺放位置,如果你不喜歡程序的默認排版的話。具體參加Moving tabs and areas章節。
Debugger窗口的工作模式:
OK,現在程序暫停在了第一斷點處,Frames窗口顯示的是Solver腳本的第7行代碼所對應的進程demo,相關變量a、b、c已經定義,但變量d尚未進行定義。接下來?
按下F9(或者左側工具欄的綠色箭頭),程序會繼續運行到下一斷點處,通過這種方式你可以將每個斷點都運行一遍,觀察變量的變化。
更多有關 Debugger窗口的信息參見軟件手冊:product documentation
Console窗口的工作模式:
為什么需要用到Console窗口呢?當我們需要查看程序給出的錯誤信息,或者進行一些額外的臨時運算時,就需要在這個窗口里面進行。
單擊Console選項卡使其前置:
然后單擊左側工具欄中的命令符按鈕,顯示Python的命令提示符:
此時激活了控制臺機制,嘗試在其中執行一些Python命令:
注意到控制臺窗口提供了代碼的拼寫提示(Ctrl+Space)以及歷史記憶(Up/Down keys)功能,更多信息參見: Using Debug Console
最后,如果你希望Console窗口一直處于可用狀態,只需將其移動成為一個單獨的窗口即可:
14、再次運行
在完成了本次調試運行并再次加載調試配置文件之后,我們可以再次運行調試,單擊工具欄的run按鈕即可。
15、REPL——在控制臺界面調試程序
最后,如果你更習慣工作于控制臺環境下,也可以將Pycharm設置成為控制臺模式。在主菜單中選擇Tools → Run Python Console...來加載控制臺:
此時console窗口將會被激活,并顯示為一個單獨的窗口:
在這個控制臺窗口中我們可以做很多有意思的事情,接下來我們演示如何將最近編寫的Solver.py文件中的代碼導入到控制臺:
打開Solver.py文件(打開的方法多種多樣,例如Ctrl+E - View → Recent Files),全選文件中的代碼內容(Ctrl+A, or Edit → Select All),然后按下Alt+Shift+E(或者右擊在彈出的快捷菜單中選擇Execute Selection in Console):
此時,Pycharm就會自動將選中的代碼導入到控制臺界面,方便我們對其進行編輯:
感謝各位的閱讀,以上就是“如何進行Pycharm代碼的調試及運行”的內容了,經過本文的學習后,相信大家對如何進行Pycharm代碼的調試及運行這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。