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.