3

少し前に、私はエンソートの古い EPD から新しいキャノピー システムに切り替えました。ほとんどの場合、それは素晴らしいことですが、1 つの側面が特に厄介です。

Canopy iPython 環境内またはコマンド ラインから Python スクリプトを実行するときはいつでもprint、スクリプトのその部分がヒットしたときに実際にステートメントがすぐに出力されることはありません。代わりに、複数printの が一度に一度に実行されるようです。

例として...

import numpy as np

print "About to start long computation..."
a = np.random.randn(1e8)
print "Computation finished."

両方のステートメントが同時に出力される場合、生成が完了する まで最初のステートメントを出力しません。a(CPU モニターを見れば、いつ計算が行われているかがわかります。)

ここで何が起こっているか知っている人はいますか?関連する場合、Windows 7 マシンで Python 2.7.3 64 ビットを使用して、Canopy 1.0.0.1160 を実行しています。

4

2 に答える 2

3

これは、バッファリングされた出力のように見えます。次のようにスクリプトを実行してみてください。

python -u yourscript

フラグは-uバッファリングをオフにします。

python(お使いの OS の python 実行可能ファイルの名前に置き換えてください。)

于 2013-09-10T02:43:14.183 に答える