2016-11-30 2 views
1

Lors de l'exécution de ce code, j'ai cette erreur:erreur Ipyparallel avec DIRECTVIEW

from ipyparallel import error, AsyncHubResult, DirectView as dv, Reference 

@dv.parallel(block=True) 
def np_std_par(x): 
    return np_std(x) 

TypeError: unbound method parallel() must be called with 
DirectView instance as first argument (got nothing instead) 

Comment puis-je utiliser le décorateur? Cela semble peu clair.

Répondre

0

dv, comme écrit dans ce premier bloc de code (et ci-dessus), n'est en réalité pas DirectView.

from ipyparallel import DirectView as dv 
print(type(dv)) 
<class 'traitlets.traitlets.MetaHasTraits'> 

DirectView n'a pas besoin d'être importés, au contraire, it should be created from a Client().

import ipyparallel 
client = ipyparallel.Client() 
dv = client[:] 

print(type(dv)) 
<class 'ipyparallel.client.view.DirectView'> 

Maintenant, le décorateur fonctionnera comme prévu. (Bien qu'il semble que vous deviez importer np_std dans votre fonction ou utiliser le décorateur require, mais c'est une autre question, je recommande de travailler à travers les exemples dans les docs pour se familiariser)