怎么打包基于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')
,它是在运行时寻找引擎,因此也不知道如何打包才能正常运行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论