Sto provando a eseguire alcuni calcoli indipendenti (anche se la lettura dagli stessi dati). Il mio codice funziona quando l'eseguo su Ubuntu, ma non su Windows (Windows Server 2012 R2), dove ottengo l'errore:multiprocessing.Pool in jupyter notebook funziona su Linux ma non su Windows
'module' object has no attribute ...
quando provo ad usare multiprocessing.Pool
(compare nella console del kernel, non come output nel notebook stesso)
(E ho già commesso l'errore di definire la funzione DOPO aver creato il pool, e l'ho anche corretto, non è questo il problema).
Questo accade anche sul più semplice degli esempi:
from multiprocessing import Pool
def f(x):
return x**2
pool = Pool(4)
for res in pool.map(f,range(20)):
print res
so che ha bisogno di essere in grado di importare il modulo (e non ho idea di come questo funziona quando si lavora nel notebook), e ho Ho sentito parlare di IPython.Parallel
, ma non sono riuscito a trovare alcuna documentazione o esempi.
Qualsiasi soluzione/alternativa sarebbe molto gradita.
Giustissimo. In realtà i documenti spiegano diversi trucchi con il multiprocessing su Windows. Vedi https://docs.python.org/2/library/multiprocessing.html#windows – tdelaney