2017-05-19 3 views
0

Ich versuche, diesen Code zu arbeiten, und es sieht aus wie Update nicht aufgerufen wird. Mit diesem Code wird nichts auf die Konsole gedruckt. Warum?Python Multiprozessing nicht aufrufen Funktion

from multiprocessing import Process 

def update(): 
    print("hi") 

if __name__ == '__main__': 
    p = Process(target=update, args=()) 
    p.start() 
    p.join() 
+0

Hören Sie auf, Haare mit den Antworten zu spalten, und führen Sie es von der Befehlszeile aus. Es funktioniert und druckt "Hallo" –

+0

** Wie laufen Sie den Code? ** Es ist wahrscheinlich, dass Sie eine Python-Umgebung verwenden, die 'sys.stdout' überschreibt, um die Ausgabe abzufangen, die Multiprocessing überspringt. –

Antwort

2

Führen Sie Ihr Programm aus der Befehlszeile, Python Leerlauf nicht mit dieser richtig so detailliert here

0

Sorry für die dumme Antwort nicht viel, aber vielleicht haben Sie keine Zeit, um die Ausgabe in stdout zu sehen ? Versuchen Sie, das Skript über die Befehlszeile wie folgt auszuführen: c:\<script location>\script.py

UPD: riscnotcisc sagte wahr.

+0

Ich bin in Spyder ipython Konsole ausgeführt, die print-Anweisungen protokolliert – yellowedhare

Verwandte Themen