2017-02-22 1 views
2

OS X 10.10.5에서 pdb를 실행하는 동안 탭 완성 기능을 사용하려고합니다. Apple이 기능 readline을 제공하지 않기 때문에 appears (또한 this 참조) 파이썬 2.7.13의 자작 (homebrew) 버전을 설치했습니다. 내가 trivial.pyOS X에서 탭 완성을 위해 pdb 가져 오기 Yosemite

var1 = "this" 
var2 = "is annoying" 

사소한 스크립트를 가지고 내가 /usr/local/bin/python -m pdb trivial.py을 실행하고 첫 번째 항목에 내가 import readline, rlcompleter;를 입력하면 난 이후에 탭 완성을 얻을 수 있습니다. 내 .pdbrc에 넣어 경우,

import readline 
import rlcompleter 

탭 완성은 하지 작업을 수행합니다. 이게 어떻게 똑같은 것이 아닌가? 내 .pdbrc에 넣을 때 완료 작업을 탭해서는 안됩니까?

답변

0

나는 리눅스에서 같은 행동을한다.

즉. 어떤 .pdbrc

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

와 나는 단지 내가 입력 할 때. 내가 rlcompleter을 가져 후에도이 같은 결과를 얻을 상호 작용 얻을 내 .pdbrc에서 수입 rlcompleter이있는 경우.

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

또한 탭 완료를 방지합니다.

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

$ python3 -vv -m pdb foo.py 

의 출력을 비교

그래서이 버그이라고 생각 segfault의 결과. 나는 당신이 버그를 제기하는 것이 좋습니다. 가져 오기 rlcompleter에 대한 설명에서 Pdb completeionkey = 설정을 덮어 쓰거나 cmd 모듈을 잘못 초기화 할 수 있습니다. FWIW는 내가 몇 가지 추가 정보를 훑어보고있는 소스입니다.

0

Pdb source 나는 내가 탭 완성 작동시킬 수 있었다이 방법을 사용

this을 발견했다. 그의 코드는 소스 디렉토리의 .pdbrc와 홈 디렉토리의 숨겨진 파이썬 스크립트를 사용합니다. 파일에는 파일을 두 부분으로 나누는 위치가 있습니다.