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

PyInstaller打包KivyMD应用报错无法导入StiffScrollEffect怎么解决

PyInstaller打包KivyMD应用缺失kivymd.effects模块解决方案

报错原因

该报错由PyInstaller静态依赖检测的局限性导致:MDDataTable组件内部的KV代码通过#:import动态导入了kivymd.effects.stiffscroll.StiffScrollEffect,PyInstaller无法识别KV文件中的导入逻辑,因此打包时没有将该模块纳入最终程序,运行时就会抛出模块缺失错误。

解决方案

方案一:修改spec文件添加隐藏导入

打开你的main.spec文件,找到Analysis配置块中的hiddenimports参数,补充缺失的模块:

a = Analysis(['main.py'],
             pathex=['C:\\wamp64\\www\\implementation\\kivy_venv\\trial'],
             binaries=[],
             datas=added_files,
             # 此处修改,添加缺失的依赖
             hiddenimports=[
                'kivymd.effects',
                'kivymd.effects.stiffscroll'
             ],
             hookspath=[],
             hooksconfig={},
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)

修改完成后,使用spec文件重新执行打包命令即可:
pyinstaller main.spec
如果后续运行还出现其他类似的模块缺失报错,将报错的模块名也添加到hiddenimports列表中即可。

方案二:主文件手动导入依赖

不需要修改spec文件,直接在main.py的导入区域添加一行导入语句,让PyInstaller能直接检测到该依赖:

# 添加到main.py的任意导入位置即可
from kivymd.effects.stiffscroll import StiffScrollEffect

修改完成后正常重新打包即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:45:04