怎么打包基于OpenStack-TaskFlow的Python程序?总是提示缺少各种包。

最近我开发了一个python程序,用到了OpenStack中的TaskFlow,然后我想把它打包成一个exe,遇到了问题。
现在一个最简单的example也不能打包,代码如下:

from taskflow import engines

from taskflow.patterns import linear_flow

from taskflow import task

class TaskA(task.Task):

default_provides = 'a'

def execute(self):

print("Executing '%s'" % (self.name))

return 'a'

class TaskB(task.Task):

def execute(self, a):

print("Executing '%s'" % (self.name))

print("Got input '%s'" % (a))

print("Constructing...")

wf = linear_flow.Flow("pass-from-to")

wf.add(TaskA('a'), TaskB('b'))

print("Loading...")

e = engines.load(wf)

print("Compiling...")

e.compile()

print("Preparing...")

e.prepare()

print("Running...")

e.run()

print("Done...")

使用Pyinstaller打包后,运行是这样的,总是缺少什么东西,然后我把那些包手动包含在打包文件中,再运行会提示taskflow找不到引擎,这是因为原代码中e = engines.load(wf)这个实际上还有个默认参数,e = engines.load(wf,engine='default'),它是在运行时寻找引擎,因此也不知道如何打包才能正常运行。
n0r0q.jpg

以上是 怎么打包基于OpenStack-TaskFlow的Python程序?总是提示缺少各种包。 的全部内容, 来源链接: utcz.com/a/156760.html

回到顶部