El progtwig de multiprocesamiento tiene AttributeError en el cuaderno Anaconda

Estoy ejecutando un sencillo progtwig “Hello World” en Windows 7 de 64 bits con las siguientes especificaciones:

Python 3.4.3 | Anaconda 2.3.0 (64-bit) | [MSC v.1600 64 bit (AMD64)] IPython 4.0.0 

El progtwig:

 from multiprocessing import Process, freeze_support def f(): print ('hello world!') if __name__ == '__main__': #freeze_support() Process(target=f).start() 

da el siguiente error:

 [I 15:02:23.855 NotebookApp] Saving file at /uhc/FeatureContributionToK-meansClu sterWithPC.ipynb Traceback (most recent call last): File "", line 1, in  File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 106, in spawn_main exitcode = _main(fd) File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 116, in _main self = pickle.load(from_parent) AttributeError: Can't get attribute 'f' on module '__main__' (built-in) 

Esto se debe al hecho de que el multiprocesamiento no funciona bien en el intérprete interactivo. La razón principal es que no hay una función fork () aplicable en windows. Se explica en su propia página web.

“La funcionalidad dentro de este paquete requiere que el módulo principal sea ​​importable por los niños. Esto está cubierto en las pautas de Progtwigción, sin embargo, vale la pena señalarlo aquí. Esto significa que algunos ejemplos, como el multiprocesamiento. Interprete.”

https://docs.python.org/2/library/multiprocessing.html#windows

Este mismo problema se producirá si está utilizando la función de grupo en el multiprocesamiento. Se resuelve en este post. Por lo tanto, puede utilizar ese método para ejecutar su idea de parallel processing.

El multiprocesamiento de Python apply_async nunca devuelve el resultado en Windows 7

Espero que sea una información útil para usted.