周末的时候继续码代码,把我之前的一个通道策略移植到了重构后的系统中,在用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,问题解决。
文章评论