마지막 결과뿐만 아니라 Jupyter에서 전체 출력을 표시하는 방법은 무엇입니까?


115

Jupyter가 마지막 결과뿐만 아니라 인쇄에 의존하지 않고 모든 대화 형 출력을 인쇄하기를 원합니다. 어떻게하나요?

예 :

a=3
a
a+1

나는 표시하고 싶다

3
4


21
그것은 매우 자주 사용하지 않는,하지만 사실이 수행해야 구성 옵션이 있습니다 - 세트 InteractiveShell.ast_node_interactivity'all'IPython 커널 설정 파일 .
Thomas K

토마스 감사합니다, 제가 찾던 것입니다 :)
mbh86

존재합니다! ! !
vasili111

답변:


179

Thomas 덕분에 내가 찾고 있던 해결책은 다음과 같습니다.

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

2
이것은 훌륭한 팁입니다. -출력의 마지막 줄로만 되 돌리는 플래그 값은 무엇입니까?
Reblochon Masque

12
기본값은 'last_expr'입니다. 당신은 여기에 다른 선택의 여지를 찾을 수 있습니다 ipython.readthedocs.org/en/stable/config/options/terminal.html
mbh86

8
참고로 'all', 'none', 'last'및 'last_expr'옵션이 있습니다. 'last'와 'last_expr'의 차이점 : 셀이 표현식을 포함하는 루프로 끝나는 경우 'last'는 루프의 각 반복에서 해당 표현식의 결과를 표시합니다. 'last_expr'(기본값)는이를 표시하지 않습니다. 셀 끝에 베어 표현식의 결과 만 표시합니다.
Thomas K

1
이런 ...이 기능은 킬러입니다.
flow2k

new (ish) last_expr_or_assign는 데모를하는 데 놀랍습니다! 더 이상 동일한 항목을 인쇄하기 위해 여러 번 다시 입력하지 않아도됩니다.
Henry Schreiner

33

https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/

1)이 코드를 Jupyter 셀에 넣습니다.

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

2) Windows에서는 아래 단계에 따라 변경 사항이 영구적으로 적용됩니다. 다른 운영 체제에서도 작동합니다. 경로를 변경해야 할 수도 있습니다.

C:\Users\your_profile\\.ipython\profile_default

다음 코드를 사용하여 profile_defaults에 ipython_config.py 파일을 만듭니다.

c = get_config()

c.InteractiveShell.ast_node_interactivity = "all"

0

노트북 기준

다른 사람들이 대답했듯이 Jupyter Lab 또는 Jupyter Notebook 셀에 다음 코드를 넣으면 작동합니다.

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

영구 변경

그러나이를 영구적으로 만들고 Jupyter Lab을 사용하려면 IPython 노트북 구성 파일을 만들어야합니다. 이렇게하려면 다음 명령을 실행합니다 ( Jupyter 노트북을 사용하는 경우 실행 하지 마십시오 -자세한 내용은 아래 참조).

ipython profile create

Jupyter Notebook을 사용하는 경우이 파일은 이미 생성되어 있어야하며 다시 실행할 필요가 없습니다. 실제로이 명령을 실행하면 현재 기본 설정을 덮어 쓸 수 있습니다.

이 파일이 생성되면 Jupyter Lab 및 Notebook 사용자 모두에 대해 다음 코드를 파일에 추가합니다 C:\Users\USERNAME\\.ipython\profile_default\ipython_config.py.

c.InteractiveShell.ast_node_interactivity = "all"

c = get_config()최신 버전의 Jupyter에서는 필요가 없다는 것을 알았지 만 이것이 작동하지 않으면 c = get_config()파일 시작 부분에를 추가 하십시오.

이외의 플래그 옵션을 더 "all"보려면 다음 링크를 방문하십시오 . https://ipython.readthedocs.io/en/stable/config/options/terminal.html#configtrait-InteractiveShell.ast_node_interactivity

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.