Multiprocessing bricht im interaktiven Modus

8

Ich habe den folgenden Code

%Vor%

Wenn ich

hinzufüge %Vor%

Am Ende verwenden Sie python script_name.py , um es auszuführen, alles funktioniert gut. Wenn ich jedoch nur den Befehl " python -i script_name.py " ausführen lasse, führe main() aus. Python beschwert sich:

%Vor%

Der Fehler kommt vom Kindprozess, der Hauptprozess läuft gut.

Das ist keine große Sache, aber ich frage mich, warum das passiert, auch wäre es schön, wenn es im interaktiven Modus funktioniert

    
XrXrXr 28.06.2014, 12:28
quelle

1 Antwort

12

Die Multiprocessing-Dokumentation erläutert dies:

  

Hinweis

     

Funktionalität in diesem Paket erfordert, dass das __main__ Modul sein muss   von den Kindern importierbar. Dies ist in den Programmierrichtlinien enthalten   Es lohnt sich jedoch, darauf hinzuweisen. Dies bedeutet, dass einige Beispiele,   wie die multiprocessing.Pool Beispiele funktionieren nicht in der   interaktiver Dolmetscher.

Nach meinem Verständnis ist __main__ im Kontext einer interaktiven Sitzung sehr unterschiedlich definiert (da es der Shell und nicht der laufenden Datei zugeordnet ist).

    
sapi 28.06.2014, 12:47
quelle

Tags und Links