Enthought Canopy nie drukuje od razu po wystąpieniu
Jakiś czas temu przeszedłem ze starej EPD Enthoughta do ich nowszego systemu Canopy. W większości jest miło, ale jeden aspekt był szczególnie dokuczliwy.
Za każdym razem, gdy uruchamiam skrypt Pythona, albo z poziomu środowiska iPython Canopy, albo z wiersza poleceń, żaden z moichprint
instrukcje faktycznie są drukowane od razu, gdy ta część skryptu zostanie trafiona. Zamiast tego, wieleprint
Wydaje się, że wszystkie zostaną wykonane natychmiast w późniejszym czasie.
Jako przykład...
import numpy as np
print "About to start long computation..."
a = np.random.randn(1e8)
print "Computation finished."
nie drukuje pierwszej instrukcji dopókipo a
jest generowany, gdy obie instrukcje są drukowane jednocześnie. (Możesz sprawdzić, kiedy obliczenia występują, obserwując monitor procesora).
Czy ktoś wie, co tu się dzieje? W razie potrzeby używam Canopy 1.0.0.1160, z 64-bitowym Pythonem 2.7.3 na komputerze z systemem Windows 7.