개발하자

Jupyter 노트북 또는 Jupyter Lab 셀에서 단일 라인 또는 선택한 코드를 실행하는 방법은 무엇입니까?

Cuire 2022. 11. 19. 06:13
반응형

Jupyter 노트북 또는 Jupyter Lab 셀에서 단일 라인 또는 선택한 코드를 실행하는 방법은 무엇입니까?

JupyterLab과 Jupyter Notebook 모두에서 다음을 사용하여 셀을 실행할 수 있습니다.

코드:

print('line 1')
print('line 2')
print('line 3')

셀 및 출력:

cell and output

하지만 어떻게 운영할 수 있을까요? 아니면 셀 전체를 운영하지 않고 셀 내에서 선택된 라인을 운영할 수 있을까요? 물론 당신은 그 단일 라인이나 선택된 라인으로 셀을 삽입할 수 있지만, 그것은 정말로 번거롭고 매우 빨리 지저분해진다. 그러면 이것을 하는 더 좋은 방법이 있을까요?




업데이트된 답변

제 첫 번째 답변 이후로 Jupyter Lab에 대한 몇 가지 업데이트가 있었고(지금 진행 중입니다), 제가 생각하는 가장 좋은 접근법은 다음과 같습니다. 그리고 앞으로도 더욱 그렇습니다.

JupyterLab에서 할당된 바로 가기 키를 사용하여 콘솔에서 코드를 실행합니다.

키보드 단축키를 사용하여 세 개의 인쇄 문을 한 줄씩 실행하면 다음과 같이 표시됩니다.

enter image description here

에서 바로 가기를 설정하는 방법은 다음과 같습니다.

enter image description here

아래에 추가해야 할 내용은 다음과 같습니다.

{
    // List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

새 버전의 JupyterLab에서 이러한 바로 가기를 직접 편집할 수 있는 기능은 메뉴의 특정 옵션 아래에 있습니다.

enter image description here

만약 당신이 그것을 찾을 수 있다면, 위의 나머지 설명들은 쉽게 작동할 것이다.

바로 가기는 메뉴에도 표시됩니다. 사용하기로 선택했습니다.

enter image description here


이전 버전에 대한 원래 답변:


단답형 답변:

주피터 노트북:

  1. qtconsole
  2. 스크래치 패드

주피터 랩:

  1. qtconsole
  2. , 키보드 단축키를 선택적으로 사용

아래의 세부 사항과 답변 맨 끝에 있는 편집 내용을 확인하십시오.


세부 정보:

주피터 노트북 옵션 1: qtconsole

거의 틀림없이 새로운 셀을 삽입하는 것에 대한 가장 유연한 대안은 마법 기능을 사용하여 IPython 콘솔을 여는 것이다.

%qtconsole

조금 더 화려한 콘솔을 위해 사용할 수 있습니다.

%qtconsole --style vim

이 콘솔에서 실행된 라인의 결과는 여전히 실행 중인 커널과 동일하기 때문에 Jupyter 노트북에서도 사용할 수 있습니다. 한 가지 단점은 원하는 줄을 콘솔에 복사하여 붙여넣거나 입력해야 한다는 것입니다.

[

Jupyter 노트북 옵션 2: Scratchpad 노트북 확장

성공적인 설치를 통해 Scratchpad를 시작할 수 있습니다.

enter image description here

Jupyter Lab 옵션 1: %qtconsole

노트북과 동일한 방식으로 작동합니다.

Jupyter Lab 옵션 2: Run > Run Selected Text or Current Line in Console

qt 콘솔과 유사한 옵션이지만, 거의 틀림없이 더 세련된 것이 새로운 버전의 주피터 랩에 내장되어 있다. 이제 마커를 한 줄에 놓거나 선택 항목을 강조 표시하고 메뉴 옵션을 사용할 수 있습니다.

enter image description here

결과는 여전히 IPython 콘솔에서 얻을 수 있지만 에 라인을 추가할 필요가 없으며 셀 내에서 라인 선택을 실행하는 것이 훨씬 쉽습니다.

enter image description here

다음과 같은 메뉴 옵션에 바로 가기 키를 할당하여 작업을 더욱 쉽게 수행할 수 있습니다.

다음으로 이동하여 선택합니다.

에서 을 검색하여 다음 섹션을 찾습니다.

// [missing schema title]
    // [missing schema description]
    "notebook:run-in-console": {
      "command": "notebook:run-in-console",
      "keys": [
        ""
      ],
      "selector": ".jp-Notebook.jp-mod-editMode",
      "title": "Run In Console",
      "category": "Notebook Cell Operations"
    }

해당 부분을 복사하여 아래에 붙여넣고 아래에 원하는 바로 가기를 입력합니다.

[...]
"keys": [
  "F9"
],
[...]

아래를 클릭합니다.

프로세스가 원활하게 진행된 경우 메뉴 옵션이 변경되었음을 확인할 수 있습니다.

enter image description here

JupyterLab을 다시 시작해야 할 수도 있지만 이제 원하는 바로 가기를 사용하여 한 줄 또는 여러 줄을 쉽게 실행할 수 있습니다.

##EDIT: 특수한 경우

선호하는 접근 방식은 해당 라인의 출력 특성에 따라 달라집니다. 다음은 의 예입니다. 시간이 지남에 따라 더 많은 예가 추가될 수 있습니다.

- 음모를 꾸미다

플롯 피규어는 Jupyter Qt 콘솔에 직접 표시되지 않지만(아마도 관련이 있을 것이다), Jupyter 노트북의 Scratchpad와 를 사용하는 Jupyterlab의 통합 콘솔 모두 플롯 피규어를 잘 처리할 것이다.

토막글 조각

from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
init_notebook_mode(connected=True)

trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17]
)

fig = go.Figure([trace0])
iplot(fig)

- 스크래치 패드로 음모를 꾸미다.

enter image description here

- 강조 표시된 선과 바로 가기 키를 사용하여 JupyterLab 콘솔을 플롯합니다.

enter image description here




enter image description here

2022-11년 현재 주피터랩에서.

  1. 설정 > 고급 설정 편집기로 이동합니다.
  2. "키보드 바로 가기"를 찾아 클릭합니다.
  3. "JSON Settings Editor"
  4. 아래 나열된 코드를 소개합니다.
  5. Ctrl+S를 입력하여 저장합니다.

이제 메뉴에서 "실행"으로 이동하면 해당 옵션이 표시됩니다(처음에 이 단계를 보여주는 비디오).

내 경우 커널을 다시 시작할 필요가 없습니다.

{
    "args": {},
    "command": "notebook:run-in-console",
    "keys": [
        "Ctrl Shift Enter"
    ],
    "selector": ".jp-Notebook.jp-mod-editMode"
},

참고: 나는 Collab이 하는 것을 모방하여 셀 아래에 결과를 표시하려고 했지만, 방법을 찾을 수 없었다. Ctrl+Shift+Enter는 콜랩에서 "선택한 텍스트 실행"의 바로 가기입니다.

여기 비슷한 설명이 있다.


반응형