web-dev-qa-db-ja.com

IPython NotebookのIn [*]は何を意味し、それをオフにする方法を教えてください。

私はWindows 7を使用していますPython 2.7.9とIPython 3.1の最新バージョン。

%python IPython Notebook内でセルを実行し、Pythonバージョンを返す代わりに、実行せずに新しい行にジャンプし、In [*]行番号の代わりに。 ipythonで実行されている行はありません。セル値を実行しようとすると、すべてが無視されます。

誰が何が起こったのか知っていますか?

42
Isak La Fleur

カーネルはビジーです。メニューKernelに移動し、Interruptをクリックします。これが機能しない場合は、Restartをクリックします。新しいセルに移動し、Shift + Enterを押して、機能するかどうかを確認する必要があります。

47
Mike Müller

カーネルがビジーになる原因は、特定のコード行である可能性があります。その場合、お使いのコンピューターはそのラインで作業するのに時間が必要な場合があります。

Mike Mullerが述べたように、どの行に時間がかかっているかを調べるには、プログラムを再起動するか、カーネルを中断する必要があります。次に、アスタリスクが付いた最初の行に到達するまで、1行ずつ慎重に実行します。

ビジーなプログラムを再起動したり中断したりしないと、問題のある行で動作している間だけビジーのままになるため、どの行が問題の行で、どの行がそうでないかを知ることができません。先頭から始めても、その1行のコードの実行が終了するまで、すべての行にアスタリスクが引き続き表示されます。実行して出力を生成した行は、2回目のパスで実行すると突然出力が失われるため、これは非常に紛らわしいです。また、混乱しているのは、カーネルがビジー状態のときにコードを変更できるが、再び解放されるまで新しい出力を取得できないという事実です。

これを引き起こすためにあなたのコードが間違っている必要はありません。時間のかかるコマンドを含めただけかもしれません。ブートストラップはこれを引き起こしました。

コードが必要なものである場合、実際にどの行が問題の行であるかは問題ではなく、すべてのコードを実行する時間を与える必要があります。問題のある行を特定する主な理由は、一部の行が消費可能かどうか、または他の理由でアスタリスクを取得していて、この行を除外する必要がある場合です。

入力を行わないときにタイムアウトするインターネットサービスでコードを記述している場合、コードを待つだけでは実行を完了するのに十分な時間がない可能性があります。通常、これらのページがタイムアウトしないようにするには、数分ごとにスクロールするだけで十分です。

2
Elle

この問題を解決するには、ウイルス対策プログラムを停止する必要がありました。

1
Chirag