I processi multielaborazione Python non si avviano

Aug 30 2020

Sono nuovo nel multiprocessing ma ho problemi anche ad avviare i processi. Anche lo snippet di codice riportato di seguito dalla documentazione di Python non stampa nulla

from multiprocessing import Process

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

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

Ho affrontato questa domanda simile e la loro soluzione non funziona per me.

Sto eseguendo python 3.8.2 su Jupyter Notebook

Risposte

1 zot8 Aug 30 2020 at 09:54

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

La funzionalità all'interno di questo pacchetto richiede che il modulo principale sia importabile dai bambini. Questo è trattato nelle Linee guida di programmazione, tuttavia vale la pena sottolinearlo qui. Ciò significa che alcuni esempi, come gli esempi multiprocessing.pool.Pool non funzioneranno nell'interprete interattivo.

Prova a eseguirlo come uno script .py tramite console.

1 HardyWu Dec 03 2020 at 07:49

Ho usato la versione più recente Anaconda 2020.11 per installare Python Jupyter Notebook 6.1.4, JupterLab 2.26 e Spyder 4.1.5 ecc., Non tutti possono eseguire Process (). Start () chiamate funzioni e non mostrano errori.

Il prompt CMD.exe può eseguire correttamente le funzioni di processo nei file .py.