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

PyInstaller编译未使用库报错:AssertionError与ModuleNotFoundError求助

解决思路

核心原因

你没直接用matplotlib,但某个依赖包间接引入了它,或者PyInstaller的自动依赖检测误把它纳入了打包范围。

具体解决步骤

  • 强制排除matplotlib:在你的PyInstaller编译命令末尾加上--exclude-module matplotlib,阻止PyInstaller打包这个库。修改后的命令:
    pyinstaller --noconfirm --onefile -w --console --name "Project1" --add-data "C:/Users/user/Desktop/bot/app.py;." --add-data "C:/Users/user/Desktop/bot/czgen.py;." --add-data "C:/Users/user/Desktop/bot/sk.py;." --add-data "C:/Users/user/Desktop/bot/site.py;." --hidden-import "colorama" --exclude-module matplotlib "C:/Users/user/Desktop/bot/main.py"
    
  • 排查间接依赖:如果排除后仍有问题,用工具找出哪个包带了matplotlib:
    1. 先安装依赖树工具:pip install pipdeptree
    2. 运行命令查看依赖链:pipdeptree | findstr matplotlib(Windows)或pipdeptree | grep matplotlib(Linux/macOS),找到后可以考虑替换该依赖包,或者确认是否真的需要它。
  • 临时卸载matplotlib:如果确定自己的项目完全不需要,直接执行pip uninstall matplotlib,编译完成后再按需重新安装即可。
  • 处理PIL缺失问题:如果排除matplotlib后仍出现ModuleNotFoundError: No module named 'PIL',说明有其他依赖需要PIL,执行pip install pillow安装即可;如果是matplotlib导致的,排除matplotlib后这个问题会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:00:42