关于一个用Pyinstaller打包时遇到的坑

2022年6月13日 288点热度 2人点赞 0条评论

周末的时候继续码代码,把我之前的一个通道策略移植到了重构后的系统中,在用pyinstaller进行打包exe时遇到了一个问题:打包正常,但exe运行报错,错误信息如下:

通过错误提示可以看到,打包后的exe文件在运行时导入talib包的时候发生了引入错误。因为之前只写了网格策略,而网格策略中并未用到Talib这个指标库,所以没遇到类似问题。

看了看网上关于pyinstaller的文章,这类问题经常出现在自己手动安装的第三方模块上,我不清楚我的问题是否于此有关,但我的Talib确实是通过whl手动安装的。

解决该问题需要用到pyinstaller的隐含导入参数,问题之前我们编译exe时的命令行是这样的:

pyinstaller -F -w -i icons/ico.ico qthinker.py

编译命令调整为:

pyinstaller --hidden-import talib.stream  -F -w -i icons/ico.ico qthinker.py

编译完成后运行exe,问题解决。

qthinker

前地产从业者,假装是个程序员,热爱编程与交易 自研Qthinker量化交易框架

文章评论