Python 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

1 ответ

Теперь это должно работать с текущей версией дисписа. Смотрите также https://github.com/pgiri/dispy/issues/43.

Другие вопросы по тегам