當前位置: 首頁>>技術教程>>正文


使用pycharm進行交互式shell調試

在IDLE中執行腳本後使用Python對象非常方便。那麽在PyCharm中,使用交互式python shell有什麽方法可以使用腳本對象嗎?

例如,我們有一個包含一個文件’test.py’的’test’項目:

a = '123'
print a

執行後我們可以得到結果:

123
Process finished with exit code 0

如何在交互shell中使用字符串’a’?

最佳解決辦法

用於當前調試會話的內置python shell

  1. 在感興趣代碼線上設置一個斷點(即通過單擊裝訂線),然後啟動調試(在編輯器中右鍵單擊,然後選擇調試myfile.py …)。

  2. 當到達斷點時,找到調試> “控製台”選項卡,然後單擊“顯示命令行”圖標(請參見屏幕截圖)。

這將啟用python shell(請注意屏幕截圖上的綠色>>>),您可以在其中訪問當前作用域中的所有變量,並執行通常在Python shell中執行的所有操作。

In recent pycharm versions you get the full ipython interpreter instead of the plain python shell (if ipython is installed).

python,pycharm,python-idle

評估表達式的窗口

作為一個更方便的選擇,如果隻需要檢查一些變量、訪問成員或調用範圍內的對象的方法,一旦到達斷點,請在當前範圍中選擇一個表達式,right-click – >評估表達式(或使用RunEvaluate Expression...下的菜單中顯示的熱鍵),根據需要進行編輯 – 可以鍵入任何具有自動補全的可用python表達式,然後按Enter鍵(或者單擊Evaluate)來檢查結果。

支持多個和多行表達式:要獲得Inspect對話框的多行版本,請單擊Code fragment模式或在編輯器中選擇多行代碼,然後評估表達式。可以將值分配給現有變量(無法定義新變量),並運行整個代碼塊。

python,pycharm,python-idle

鼠標懸停在變量上

要在調試模式下點擊斷點後查看變量的值,請將鼠標指針懸停在變量上(1-2秒),該變量的值將顯示在工具提示中。

python,pycharm,python-idle

提示將包含一個圖標 – 點擊它將打開一個彈出式檢查器。

python,pycharm,python-idle

對於範圍內的變量,檢查器顯示在調試下的底部麵板中

次佳解決辦法

我發現以前的答案有用,但並不令人滿意。所以我在這裏提供第三個選項:

將選定的代碼加載到控製台(我的建議)

使用Shift + Alt + E將所選代碼或光標所在行加載到控製台中並立即運行。這也有一些缺點:

  • 如果需要運行整個文件,則必須選擇整個文件。

  • 即使遇到錯誤,代碼也會繼續運行。

但是作為回報,我們得到的功能比IDLE更好(在我看來):能夠一次運行你的代碼。

詳見here

使用斷點和評估表達式(AltF8)(由Piga-fetta建議)

這在大型應用程序中非常有用,我們需要在代碼中的某些位置進行調試,但對於交互式編碼不太有用。所以這不是我們想要的。

使用工具 – >運行Python控製台(由Games Brainiac和kobejohn建議)

這是我們想要的,但有點麻煩,特別是如果我們要運行的模塊不在項目的根目錄。

第三種解決辦法

可以簡單地在PyCharm 2和PyCharm 3中使用Python控製台。可以直接導入,因為項目根目錄已經添加到PYTHONPATH

所以讓我通過一些屏幕截圖來演示:

1.在根目錄下製作console.py文件

python,pycharm,python-idle

2.在PyCharm裏打開Python控製台

python,pycharm,python-idle

3.從console.py文件導入變量

python,pycharm,python-idle

到這裏,就已經成功地導入變量了。

第四種辦法

執行後保持打開命令行

對於仍然有這個問題的人來說:進入運行/調試菜單,選擇編輯配置,勾選“顯示命令行”這個選項可以讓你在控製台的>>>提示並測試你的功能。

python,pycharm,python-idle

全局配置

為了使這個改變適用於所有的.py文件(因為這個複選框隻適用於你正在處理的當前文件),請轉到:編輯配置,在彈出的對話框中你會看到一個菜單樹,選擇Defaults ,然後選擇Python,然後選中“顯示命令行”框,每當你打開一個.py文件時,這會使其成為默認設置,(這個功能默認應該是開啟的)。

python,pycharm,python-idle

參考文獻

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3708.html,轉載請注明來源鏈接。