Python-Multiverarbeitungsprozesse werden nicht gestartet

Aug 30 2020

Ich bin neu in der Mehrfachverarbeitung, habe aber Probleme, die Prozesse überhaupt zu starten. Selbst das folgende Codefragment aus der Python-Dokumentation druckt nichts

from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

Ich habe diese ähnliche Frage durchgearbeitet und ihre Lösung funktioniert bei mir nicht.

Ich verwende Python 3.8.2 auf Jupyter Notebook

Antworten

1 zot8 Aug 30 2020 at 09:54

https://docs.python.org/3/library/multiprocessing.html

Funktionalität innerhalb dieses Pakets erfordert , dass das Hauptmodul von den Kindern importierbar sein. Dies wird in den Programmierrichtlinien behandelt, es ist jedoch erwähnenswert, hier darauf hinzuweisen. Dies bedeutet, dass einige Beispiele, wie z. B. die Beispiele multiprocessing.pool.Pool, im interaktiven Interpreter nicht funktionieren.

Versuchen Sie, es als .py-Skript über die Konsole auszuführen.

1 HardyWu Dec 03 2020 at 07:49

Ich habe die neueste Version von Anaconda 2020.11 verwendet, um Python Jupyter Notebook 6.1.4, JupterLab 2.26 und Spyder 4.1.5 usw. zu installieren. Alle können Process (). Start () aufgerufene Funktionen nicht ausführen und zeigen keinen Fehler an.

Die Eingabeaufforderung CMD.exe kann Prozessfunktionen in .py-Dateien problemlos ausführen.