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