0

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
4

1 に答える 1

1

これは現在のバージョンの dispy で動作するはずです。https://github.com/pgiri/dispy/issues/43も参照してください。

于 2016-07-13T12:53:03.377 に答える