No module named 'pandas._libs.tslibs.timedeltas
使用pyinstaller打包python为exe,pyinstaller -F -w main.py
打包完成后双击执行报错
failed to execute script main
其中main是程序的名字。
程序还没到运行阶段还没有生产应用日志,这种情况猜测是运行环境不满足要求。
去掉打包参数中的-w,让控制台输出信息,排查问题所在。
重新打包后运行程序,会有黑屏命令行出现,命令行会很快消失,出现文字的时候,立即截屏保存报错信息。
提示No module named 'pandas._libs.tslibs.timedeltas
通过网络查询发现是打包的时候没有打包隐含依赖包,需要手动指定。
执行打包命令后会生成一个.spec文件,修改这个文件
hiddenimports=[]
修改为
hiddenimports=['pandas', 'pandas._libs.tslibs.timedeltas', 'pandas._libs.tslibs.np_datetime', 'pandas._libs.tslibs.nattype', 'pandas._libs.skiplist']
重新执行打包程序
pyinstaller main.spec
当然也可以通过参数来指定 --hidden-import pandas --hidden-import Pillow