2017-06-07 2 views
0

J'ai un script python qui contient un certain nombre de fonctions définies par l'utilisateur que j'ai configurées en tant que package localement. Je peux exécuter toutes les fonctions du script input_processing.py à l'exception de celle que j'ai l'intention de lancer en parallèle.Comment importer une fonction ipyparallel à partir d'un package défini par l'utilisateur, Python

Voici le code qui importe le package ...

import attrition25.input_processing as attrition 

Je reçois cette erreur ...

NameError: name 'dview' is not defined 

C'est ce que la fonction ressemble à input.processing.py. ..

@dview.parallel(block=True) 
def get_dmat_elements(a, b, c): 
    d = a + b + c 
    return(d) 

J'ai essayé sync_imports() et regardé le décorateur @interactive, mais je ne pouvais aller nulle part. Toute aide serait appréciée.

Répondre

0

Bien que je ne suis pas complètement la portée, pour obtenir la fonction de travail, je devais ajouter ceci au début du script input_processing.py ...

import ipyparallel as ipp 
# Create directView Instance for Parallel Processing 
c = ipp.Client() 
dview = c[:] # use all engines 

J'ai exactement le même bloc de code dans le bloc-notes Jupyter où je suis en train de tester, mais cela n'a pas fonctionné.

Espérons que cela aide quelqu'un là-bas.

À la votre!