最後の結果だけでなく、Jupyterで完全な出力を表示するにはどうすればよいですか?


114

Jupyterには、最後の結果だけでなく、印刷に頼らずにすべてのインタラクティブ出力を印刷してもらいたいです。どうやってするの?

例:

a=3
a
a+1

表示したい

3
4


21
これはあまり使用されませんが、実際には、これを実行する必要のある構成オプションがあり、IPythonカーネル構成ファイルに設定InteractiveShell.ast_node_interactivity'all'れています
トーマスK

Thomasさん、ありがとうございます。それが私が探していたものです:)
mbh86

それが存在します !!!
vasili111

回答:


178

トーマスのおかげで、ここに私が探していた解決策があります:

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'(デフォルト)はそれを表示しません。これは、セルの最後にある式の結果のみを表示します。
トーマス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.