怎么打包基于OpenStack-TaskFlow的Python程序?总是提示缺少各种包。
最近我开发了一个python程序,用到了OpenStack中的TaskFlow,然后我想把它打包成一个exe,遇到了问题。
现在一个最简单的example也不能打包,代码如下:
from taskflow import enginesfrom 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')
,它是在运行时寻找引擎,因此也不知道如何打包才能正常运行。
以上是 怎么打包基于OpenStack-TaskFlow的Python程序?总是提示缺少各种包。 的全部内容, 来源链接: utcz.com/a/156760.html