2016-06-30 1 views
0

Есть ли способ сохранить имена пакетов для модулей python, которые передаются через функцию зависимости от dispy? Это позволит использовать пакеты/модули таким же образом, когда вызывается с контекстом dispy и без него.Python dispy - сохранить имена пакетов для зависимостей

Простой пример:

Модуль mypackage.dispytestDepends:

def myFun(): 
    return "Foo" 

основной модуль, как я хотел бы, чтобы у (не работает):

def dependsFunTask(): #works only when called without dispy 
    import mypackage.dispytestDepends 
    ret = mypackage.dispytestDepends.myFun() 
    return ret 

import dispy 
if __name__ == '__main__': 
    cluster = dispy.JobCluster(dependsFunTask,depends = mypackage.dispytestDepends) # doesn't work 
    job = cluster.submit() 
    output = job() 
    print output ### output is None 
    mypackage.dependsFunTask() # works 

Рабочая, пока уродливая версия, так как у меня есть много кода, который необходимо переписать:

def dependsFunTask(): #only works when called through dispy 
    import dispytestDepends 
    ret = dispytestDepends.myFun() 
    return ret 

import dispy 

if __name__ == '__main__': 
    cluster = dispy.JobCluster(dependsFunTask,depends = mypackage.dispytestDepends) # works 
    job = cluster.submit() 
    output = job() 
    print output ### output is "Foo" 
    dependsFunTask() # doesn't work 

ответ