ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jupyter Notebook, Jupyter Lab : Tab, Shift+Tab 안 되는 경우
    환경 구성 2021. 3. 16. 17:28

    Jupyter Notebook이나 Jupyter Lab을 사용하다보면 가끔 Tab이 안 되는 경우가 있습니다. 여러가지 이유가 있을 수 있지만 3가지의 경우를 설명하고자 합니다.

     

    1. 사용하고자 하는 패키지를 Load하지 않았을 때

    Jupyter Notebook이나 Lab을 처음 사용하시는 분들이 흔히 하는 실수입니다. 아래의 코드를 살펴보겠습니다. 아래의 코드는 하나의 커널에서 실행이 되며, 해당 커널이 가장 첫 번째 커널이라고 가정합니다. 

    import pandas as pd
    import numpy as np
    
    # DataFrame을 만들기 위해 pd.Data를 입력한 후 Tab을 한 경우
    pd.Data ~
    
    # sort_values의 파라미터, 혹은 document를 살펴보기 위해 괄호 안에서 Shift+Tab을 한 경우
    data.sort_values() 

    분명히 import를 했는데 안 됐다고 생각을 하실 수도 있지만 실제로는 아직 패키지가 로드되지 않았습니다. 왜냐하면 아직 실행되기 전의 커널이기 때문이죠. 실행이 되지 않은 커널에 글자만 적어놓은 경우입니다. 이런 경우 위의 pd.Data~는 pd.DataFrame으로 완성이 되지만(Tab Completion은 가능하지만) sort_values() 함수의 document를 보는 것은 불가능합니다.(Shift + Tab은 안됩니다.) 이런 경우는 해결책이 간단합니다. 아래와 같이 패키지를 우선 로드 한 후 다음 커널에서 Shift + Tab과 Tab을 해보면 잘 나오는 것을 확인할 수 있습니다. 

    import pandas as pd
    import numpy as np
    # DataFrame을 만들기 위해 pd.Data를 입력한 후 Tab을 한 경우
    pd.Data ~
    
    # sort_values의 파라미터, 혹은 document를 살펴보기 위해 괄호 안에서 Shift+Tab을 한 경우
    data.sort_values() 

     

    2. 실제로 실행되고 있지만 너무 오래 걸려 착각을 하는 경우

    이런 경우도 왕왕 존재합니다. 예를 들어 School이라는 변수를 저장합니다. 그리고 아래의 커널에서 Sch를 입력 후 Tab을 누르게 되면 분명 School이 떠야하는데 뜨지 않는 것 처럼 느껴지지만 실제로는 Tab은 제대로 실행이 되었고 다만 School를 불러오는데 시간이 오래 걸린다는 뜻입니다. 이것도 해결은 간단합니다. Jupyter Notebook이나 Lab을 보시면 오른쪽 상단에 동그라미가 있습니다. Shift + Tab 혹은 Tab을 눌렀을 때 동그라미의 색깔이 바뀐채로 있다면 그것은 제대로 실행되고 있는 것입니다. 이런 경우에는 조금 기다려주시면 제대로 동작하는 것을 확인하실 수 있습니다.

     

    3. Jedi Package의 문제

    위의 두 개에 해당하지 않는다면 Tab Completion을 담당했던 패키지의 문제에 해당할 가능성이 있습니다. 정확한 쓰임새는 모르지만 예전 Jupyter version에서 Tab Completion과 관련이 있던 패키지인 것으로 추측됩니다. 이 Jedi라는 패키지에서 문제가 생기는 경우가 있습니다. 이런 경우에는 MagicCode를 이용해 Jedi를 비활성화 시키거나 혹은 삭제시키는 방법으로 해결할 수 있습니다. 

     

    jedi를 비활성화 시키는 경우는 아래와 같이 작성하여 Run을 할 수 있습니다.

    %config Completer.use_jedi = False

     

    댓글

Designed by Tistory.