2017-02-22 45 views
2

我試圖在OS X 10.10.5上運行pdb時使製表符完成工作。我已經安裝了python 2.7.13的自制軟件版本,因爲它的appears(也請參閱this)Apple沒有提供函數readline。如果我有一個簡單的腳本,trivial.py獲取pdb在OS X優化項目中完成製表符完成Yosemite

var1 = "this" 
var2 = "is annoying" 

,我跑/usr/local/bin/python -m pdb trivial.py並在第一個條目我進入import readline, rlcompleter;隨後,我可以得到選項卡完成。但是,如果我把我的.pdbrc

import readline 
import rlcompleter 

標籤完成確實不工作。這不完全一樣嗎?放入我的.pdbrc時不應該完成標籤工作嗎?

回答

0

我在linux上得到相同的行爲。

即。沒有.pdbrc

$ python3 -m pdb foo.py 
(Pdb) in<tab> gives interact 
(Pdb) interact 
(Pdb) import rlcompleter 
(Pdb) in<tab> 
(Pdb) in input( int(

如果我有我的.pdbrc進口rlcompleter我只得到,當我輸入我得到這個相同的結果即使我導入rlcompleter互動。

$ python3 -m pdb -c 'import rlcompleter' foo.py 

也阻止標籤頁的完成。

$ python3 -vv -m pdb -c 'import rlcompleter' foo.py 

$ python3 -vv -m pdb foo.py 

輸出比較導致了段錯誤,所以我會認爲這是一個錯誤。我建議你提交一個錯誤。提及一些關於導入rlcompleter可能會丟失的Pdb completeionkey =設置被覆蓋或cmd模塊可能被初始化。 FWIW這裏是我正在尋找的來源,以獲取更多信息。 Pdb source

0

我發現this

使用這種方法我能得到的標籤完成工作。他的代碼在源目錄中使用.pdbrc,在主目錄中使用隱藏的Python腳本。該文件具有註釋將文件分成兩部分的地方。