Jupyter 노트북 또는 Jupyter Lab 셀에서 단일 라인 또는 선택한 코드를 실행하는 방법은 무엇입니까?
Jupyter 노트북 또는 Jupyter Lab 셀에서 단일 라인 또는 선택한 코드를 실행하는 방법은 무엇입니까?
JupyterLab과 Jupyter Notebook 모두에서 다음을 사용하여 셀을 실행할 수 있습니다.
코드:
print('line 1')
print('line 2')
print('line 3')
셀 및 출력:
하지만 어떻게 운영할 수 있을까요? 아니면 셀 전체를 운영하지 않고 셀 내에서 선택된 라인을 운영할 수 있을까요? 물론 당신은 그 단일 라인이나 선택된 라인으로 셀을 삽입할 수 있지만, 그것은 정말로 번거롭고 매우 빨리 지저분해진다. 그러면 이것을 하는 더 좋은 방법이 있을까요?
업데이트된 답변
제 첫 번째 답변 이후로 Jupyter Lab에 대한 몇 가지 업데이트가 있었고(지금 진행 중입니다), 제가 생각하는 가장 좋은 접근법은 다음과 같습니다. 그리고 앞으로도 더욱 그렇습니다.
JupyterLab에서 할당된 바로 가기 키를 사용하여 콘솔에서 코드를 실행합니다.
키보드 단축키를 사용하여 세 개의 인쇄 문을 한 줄씩 실행하면 다음과 같이 표시됩니다.
에서 바로 가기를 설정하는 방법은 다음과 같습니다.
아래에 추가해야 할 내용은 다음과 같습니다.
{
// List of Keyboard Shortcuts
"shortcuts": [
{
"command": "notebook:run-in-console",
"keys": [
"F9"
],
"selector": ".jp-Notebook.jp-mod-editMode"
},
]
}
새 버전의 JupyterLab에서 이러한 바로 가기를 직접 편집할 수 있는 기능은 메뉴의 특정 옵션 아래에 있습니다.
만약 당신이 그것을 찾을 수 있다면, 위의 나머지 설명들은 쉽게 작동할 것이다.
바로 가기는 메뉴에도 표시됩니다. 사용하기로 선택했습니다.
이전 버전에 대한 원래 답변:
단답형 답변:
주피터 노트북:
qtconsole
- 스크래치 패드
주피터 랩:
qtconsole
- , 키보드 단축키를 선택적으로 사용
아래의 세부 사항과 답변 맨 끝에 있는 편집 내용을 확인하십시오.
세부 정보:
주피터 노트북 옵션 1: qtconsole
거의 틀림없이 새로운 셀을 삽입하는 것에 대한 가장 유연한 대안은 마법 기능을 사용하여 IPython 콘솔을 여는 것이다.
%qtconsole
조금 더 화려한 콘솔을 위해 사용할 수 있습니다.
%qtconsole --style vim
이 콘솔에서 실행된 라인의 결과는 여전히 실행 중인 커널과 동일하기 때문에 Jupyter 노트북에서도 사용할 수 있습니다. 한 가지 단점은 원하는 줄을 콘솔에 복사하여 붙여넣거나 입력해야 한다는 것입니다.
[
Jupyter 노트북 옵션 2: Scratchpad 노트북 확장
성공적인 설치를 통해 Scratchpad를 시작할 수 있습니다.
Jupyter Lab 옵션 1: %qtconsole
노트북과 동일한 방식으로 작동합니다.
Jupyter Lab 옵션 2: Run > Run Selected Text or Current Line in Console
qt 콘솔과 유사한 옵션이지만, 거의 틀림없이 더 세련된 것이 새로운 버전의 주피터 랩에 내장되어 있다. 이제 마커를 한 줄에 놓거나 선택 항목을 강조 표시하고 메뉴 옵션을 사용할 수 있습니다.
결과는 여전히 IPython 콘솔에서 얻을 수 있지만 에 라인을 추가할 필요가 없으며 셀 내에서 라인 선택을 실행하는 것이 훨씬 쉽습니다.
다음과 같은 메뉴 옵션에 바로 가기 키를 할당하여 작업을 더욱 쉽게 수행할 수 있습니다.
다음으로 이동하여 선택합니다.
에서 을 검색하여 다음 섹션을 찾습니다.
// [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"
],
[...]
아래를 클릭합니다.
프로세스가 원활하게 진행된 경우 메뉴 옵션이 변경되었음을 확인할 수 있습니다.
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)
- 스크래치 패드로 음모를 꾸미다.
- 강조 표시된 선과 바로 가기 키를 사용하여 JupyterLab 콘솔을 플롯합니다.
2022-11년 현재 주피터랩에서.
- 설정 > 고급 설정 편집기로 이동합니다.
- "키보드 바로 가기"를 찾아 클릭합니다.
- "JSON Settings Editor"
- 아래 나열된 코드를 소개합니다.
- Ctrl+S를 입력하여 저장합니다.
이제 메뉴에서 "실행"으로 이동하면 해당 옵션이 표시됩니다(처음에 이 단계를 보여주는 비디오).
내 경우 커널을 다시 시작할 필요가 없습니다.
{
"args": {},
"command": "notebook:run-in-console",
"keys": [
"Ctrl Shift Enter"
],
"selector": ".jp-Notebook.jp-mod-editMode"
},
참고: 나는 Collab이 하는 것을 모방하여 셀 아래에 결과를 표시하려고 했지만, 방법을 찾을 수 없었다. Ctrl+Shift+Enter는 콜랩에서 "선택한 텍스트 실행"의 바로 가기입니다.
여기 비슷한 설명이 있다.