You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyinstaller打包的EXE运行报错:缺少tornado模块求助

解决PyInstaller打包EXE后tornado模块缺失的报错

嘿,这个问题我之前处理过——虽然你的代码里没直接导入matplotlib或者tornado,但某个依赖库(大概率是sklearn的相关模块)间接触发了matplotlib.backends.backend_webagg的加载,而这个模块依赖tornado,PyInstaller自动收集依赖时漏掉了它,所以运行EXE就报错了。

给你几个靠谱的解决步骤:

  • 先安装tornado模块,毕竟依赖链里确实需要它:

    pip install tornado
    
  • 重新打包时,用--hidden-import参数明确告诉PyInstaller要包含tornado,避免它再漏掉。假设你的主脚本是your_script.py,打包命令改成:

    pyinstaller --hidden-import tornado your_script.py
    
  • 额外小技巧:如果之后还遇到类似的模块缺失问题,都可以用--hidden-import把对应的模块加进去,PyInstaller对一些深层间接依赖的识别偶尔会有遗漏。

要是你确定自己完全用不到matplotlib的任何后端功能,也可以在代码开头加两行强制指定非交互式后端,从根源避免触发tornado的依赖:

import matplotlib
matplotlib.use('Agg')  # 强制使用无交互的后端,不会加载需要tornado的webagg

不过这个方法要确保你的代码里真的没用到matplotlib的可视化,不然会搞出别的问题,还是前两种方法更稳妥。

内容的提问来源于stack exchange,提问作者stackUnderflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:52:26