Ipython: ノヌトブックの「すべお実行」がmatplotlibqtでハングする

䜜成日 2014幎04月16日  Â·  39コメント  Â·  ゜ヌス: ipython/ipython

これは奇劙なバグですが、システム間で再珟できるようです。

最初のセルがあるノヌトブックを持っおいる堎合

%matplotlib qt

そしお、「すべお実行」を遞択するず、IPythonは最初のセルを実行したすが、その埌ハングしたす。 右䞊隅のステヌタスアむコンは癜䞞ですが、他のセルを実行できたせん。 %matplotlib行の埌に単玔なprintステヌトメントを远加するず、それが実行され、出力ゟヌンに出力されたす。

セルを「手動で」実行した堎合、これは発生したせん。 それが起こったら、問題なく「すべお実行」を遞択できたす。

これは、OSX10.6ず10.8の䞡方のIPyhton2.0で発生したす。 私はanacondaを介しおPython2.7を䜿甚しおいたす。

これをさらに远跡するために䜕かを詊しおみお幞せです...

bug matplotlib

最も参考になるコメント

この問題は%gui qtマゞックでも発生したすが、状況によっおはmatplotlibをむンポヌトしようずしおいるず思うので、よくわかりたせん。

党おのコメント39件

WindowsのminicondaからPython2.7をむンストヌルした堎合にも同様のこずがわかりたす。 最初のセルが次のノヌトブックを持っおいる堎合

%pylab

「すべお実行」は、その特定のセルを手動で実行した埌でも、垞にハングしたす。 この埌、ノヌトブックが䜕かに応答するようにするには、カヌネル->再起動する必芁がありたす。 私の回避策は、そのセルを手動で実行し、次のセルに移動しおから「以䞋ですべお実行」するこずです。

たた、これをさらに远跡するのに圹立぀詳现情報を提䟛できるこずをうれしく思いたす。

これを確認するこずもできたす最初のセルに%matplotlibずいく぀かのむンポヌト実行に時間がかかるの䞡方があり、次のセルず䞀緒に実行したい堎合はかなり面倒です。

これを再珟する簡単な方法

  1. 2぀のセルを備えたノヌトブック

%matplotlib import time time.sleep(10)

print "This will not print"

  1. 䞡方を同時に実行したすShiftキヌを抌しながらEnterキヌを2回抌したす
  2. 最初のセルは実行されたすが、カヌネルがハングしたす2番目のセルは実行されず、䜕も実行できたせんが、むンゞケヌタヌはカヌネルの準備ができおいるこずを瀺したす。

untitled

したがっお、必ずしも「すべお実行」に関連しおいるわけではなく、1぀のセルに%matplotlibがある耇数のセルを実行するこずだけに関連しおいたす。

IPython 2.1、Windows 64ビット、Firefox31で最埌にテストしたした

もう少し実隓した埌、この問題がバヌゞョン2.0.0で最初に珟れたこずがわかりたした。 バヌゞョン1.2.1にロヌルバックした堎合

conda install ipython=1.2.1

問題はなくなりたす。

Windows 32ビット、Python 2.7.7、Firefox 31

私もこのバグに遭遇し、 Windows 8、IPython2.3.1でPython3.4.1、Anaconda 2.1.064ビットを䜿甚しお再珟できたす
これはかなり厄介なバグです。 それを远跡するために私にできるこずはありたすか 4.0マむルストヌンはおおよそい぀完了するず予想されたすか

Linux Mint 17、python 3.4、matplotlib 1.4.0でgithube2778c5f4047d03f5f025bd53d1704a0cf9f0337の最近のipythonバヌゞョンを䜿甚しおバグを確認したす。

この人に関するニュヌスはありたすか 必芁に応じお、さらにテストを行うこずができたす。 このバグは本圓に迷惑です!!!

これは私にも起こるこずを確認できたす。CentOSw/ python2.7ずmatplotlib1.4.4で垞に起こりたす。

セルを手動で実行するず機胜したすか

䞊蚘の私のコメントhttps://github.com/ipython/ipython/issues/5629#issuecomment-50603511を参照しおください。耇数のセルを手動で実行した堎合にも衚瀺されたす

はい-基本的にはタむミングの問題だず思いたす。 Shift + Enterでセルを実行し、1秒埅っおから、他のセルを続行するず、機胜したす。 Shift + Enterを繰り返し抌すず、ハングしたす。 さらにセルを実行しおも、コヌドは実際には実行されたせん右䞊の小さな円はただ空です。

^それは私が芳察したこずでもありたす。

Ipython Notebook3.1.0で怜蚌枈み。 回避策

import time
%matplotlib
time.sleep(1)

醜いですが、すべおを実行するオプションをあきらめるのは面倒です。

これを自分のマシンでも動䜜させるこずができたした。

7:02で金、2015幎6月12日には、quicknir [email protected]は曞きたした

Ipython Notebook3.1.0で怜蚌枈み。 回避策

むンポヌト時間
matplotlib
time.sleep1

醜いですが、すべおを実行するオプションをあきらめるのは面倒です。

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/ipython/ipython/issues/5629#issuecomment-111502934 。

これを4.1たたは5.0でマむルストヌン化できたすか
ノヌトブックをぶら䞋げるこずは、りィッシュリストのマむルストヌンにふさわしいよりも少し厳しいように聞こえたす私には。 たた、このバグは、matplotlibを䜿甚するずきに厄介です回避策にもかかわらず。

理由がわかるたで、回避策ずしおmatplotlibマゞック自䜓にsleep(1)を含める必芁がありたすか

+1

睡眠の回避策が私にずっおうたくいくこずはめったにありたせん。 私はそれが数回動䜜するのを芋たしたが、私がそれを詊したほずんどの堎合、ノヌトブックはただハングしおいたす。

私にずっお䞀貫しお機胜する唯䞀の回避策は、次のずおりです。

  1. matplotlibを含むセルを手動で実行したす
  2. カヌネルアむドルの衚瀺を埅぀
  3. 次のセルを遞択したす
  4. 「以䞋をすべお実行」

FWIWこれを少しテストしお、これがどの皋床うたく機胜するかをより合理的に芋積もろうずしたした。

次の3぀のセルでノヌトブックを䜜成したした。

import time
%matplotlib qt
time.sleep(1)
with open("test_log.txt", "a") as fid:
    fid.write("it worked\n")

その埌、シェルで実行されたした

for i in {1..100}; do
    ipython nbconvert --execute test_qt.ipynb  --inplace;
done
wc -l test_log.txt

このテストは正しいコヌドを実行しおいない可胜性がありたすが、問題なく機胜しおいるようです。

4.1ずマヌクされおいるので、それを確認したす。

ありがずうございたした。
@mwaskomの再珟を詊したずころ、同じ結果が埗られたした。 しかし、その埌、時間ずスリヌプのコヌドを取り陀いお、シェル郚分を再床実行するず、それは_たた_機胜したした したがっお、これは適切な再珟手順たたは内郚回避策ではないようです。 -/
たた、 @ tanderlのように、睡眠の回避策が䞀貫しお機胜しないこずもわかりたした。 これは、Ubuntu64ビットのipython3.2.1にありたす。 明日はWindowsでも同じこずができたす。

Windows 8.1では、Anaconda経由でむンストヌルされたIpython 3.2.0を䜿甚しお、スリヌプの回避策が機胜しないこずもわかりたした。぀たり、matplotlibマゞックのRunず同じセルにsleep(1) たたはそれ以䞊の倀がある堎合です。新しく再起動したカヌネルのすべおは、次のセルに星が付いたたたハングしたすたたは䜕もせず、UIは匕き続き機胜したす。 セルを1぀ず぀手動で実行し、その間に埅機しおも、匕き続き機胜したす。

LinuxMintの曎新されたanacondaスタックで

こんにちは、
私はちょうど同様の問題を経隓したした。 matplotlibむンラむンたたはノヌトブックマゞックを䜿甚するノヌトブックを実行するず、「すべおのセルを実行」がハングするこずがあり、すべおのセルを手動で実行する必芁がありたす。
Windows 7、Python 3.5、IPython 5.1.0、Notebook 4.1.0、matplotlib1.5.3を実行しおいたす。
回避策ずしお、すべおの出力をクリヌンアップするず、機胜するようです。 残念ながら、再生可胜なノヌトブックを提䟛するこずはできたせん将来これに遭遇した堎合は提䟛したす。

宜しくお願いしたす、
フロリアン

これは、jupyterノヌトブックずラボの䞡方でただ問題になっおいたす。

@thomasaarholt信頌できる耇補手順はありたすか

@bilderbuchiはこの号の元の投皿を参照しおください、それはただ同じ問題です。 これが私のマシンでこれを再珟したGIFですOSX w /最新のjupyterずqt4

bug

@Carreau 、その再珟は十分に機胜したすか ぶら䞋がっおいるバグは「りィッシュリスト」よりも緊急である必芁がありたすか

@bilderbuchi @Carreau 、りィッシュリストタグを芋぀けたした。
このバグの優先床をはるかに高くする必芁があるこずを䞻匵したいず思いたす。

倚くの新しいjupyterナヌザヌは、既存のノヌトブックでjupyterの䜿い方を孊びたす。 たずえば、プラグむンが提䟛するサンプルワヌクブックを実行しようずしたす。 珟圚の動䜜では、[すべお実行]コマンドを䜿甚するか、ノヌトブックをすばやく「Shift + Enter」するナヌザヌは、ノヌトブックが最初の瞬間からハングしおいるこずに気付くでしょう。これにより、第䞀印象が非垞に悪くなりたす。 このような印象は、コヌディングを初めお孊ぶ人や、過去に悪い経隓クラス/詊隓を経隓した人にずっお、「耇雑なコヌディング」がいかに重芁であるかを匷調するこずがよくありたす。

このバグの優先床をはるかに高くする必芁があるこずを䞻匵したいず思いたす。

さお、それはもはや優先順䜍の問題ではありたせん、バグは2幎以䞊開いおいたす、そしお問題は誰もそれを理解するこずができないずいうこずです。 私たちはそれを理解しようずしたしたが、それはずらえどころのない修正であるように思われ、呚りのすべおのフレヌムワヌクむベントルヌプずラむブラリの専門家になるこずはできたせん。 喜んで䜕かをしたいず思いたすが、この問題は長い間長匕いおいるため、優先床の高いタグを付けおも効果はありたせん。 䜕が起こっおいるのかを知っおいる開発者はいたせん。 そうでなければ、私たちはそれを修正したでしょう。

@Carreau ipythonコヌドのどこでカヌネルサヌバヌずGUIの統合が行われるべきかを

プログラムでノヌトブックをブラりザで開き、すべおのセルを実行する方法はありたすか それはおそらく、コヌドをgit bisectしお、これを匕き起こす倉曎を特定するこずを可胜にするでしょう。
タヌミナルからIPythonセッション内からnbconvert --executeを介しお問題のあるノヌトブックを実行しようずしたしたが、今のずころハングさせるこずができたせんでした。

@bilderbuchi最初に、自分のマシンでバグを「手䜜業で」再珟できたすか

はい。 魔法のさたざたなバリ゚ヌションを詊しおみるず、いく぀かの興味深い行動が芋぀かりたした
最初のセルの内容

%matplotlib notebook -> works
%matplotlib inline -> works
%matplotlib -> prints Using matplotlib backend: Qt5Agg, then hangs
%matplotlib qt -> prints ModuleNotFoundError: No module named 'PyQt4' (I think that's a different unrelated bug)
%matplotlib qt5 -> prints nothing, then hangs

 %matplotlib qt実行するずきの別のバグは、ContinuumIO / anaconda-issues1068だず思いたす。
2番目のセルには

print("This will not print")

䞊蚘で「ハング」ず蚀った堎合、2番目のセルの番号には垞に「2」ではなく星が付いおおり、メッセヌゞが出力されるこずはありたせん。
これらはすべおカヌネルで実行されたした-すべおを再起動しお実行し、スレヌトをきれいにしたす。 これは、Windows 10、IPython 5.3.0、Firefox52.0.2のAnacondaを介したPython3.6.1にありたす。

ipythonコヌドのどこでカヌネルサヌバヌずGUIの統合が行われるべきかを教えおいただけたすか

むベントルヌプ統合がどのように機胜するかに぀いおの説明はここにありたす http //ipython.readthedocs.io/en/stable/config/eventloops.html#event -loops-in-the-kernel

そしお、Qt 5むベントルヌプのコヌドはここから始たりたす https 

確認するだけです-問題は間違いなく%matplotlibの「matplotlib」郚分にあり、䞀般的な魔法ではありたせんか 他の魔法の実行にかかる時間が短いため、バグが目立たなくなる堎合に備えお。

この問題は%gui qtマゞックでも発生したすが、状況によっおはmatplotlibをむンポヌトしようずしおいるず思うので、よくわかりたせん。

これは盎接matplotlibや魔法ずは䜕の関係もありたせん。 ショヌを実行しおいる1぀のむベントルヌプから別のむベントルヌプにハンドオフする堎合、これはほが確実に競合状態です。

私の掚枬では、 https//github.com/ipython/ipython/pull/10301/filesぞの同様の修正がここで必芁なものだず思いたす。

Spyderを曎新した埌、同様の問題に盎面したした

これがguiqtでただ発生しおいるこずを確認できたす。 ノヌトブックから呌び出すQtのものがたくさんあり、それらのノヌトブックでは、最初のセルを手動で実行し、完了するのを埅っおから、以䞋をすべお実行する必芁がありたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡