问题描述
import kivymd
成功。
from kivymd.app import MDApp
失败。
sdl2 - ImportError: DLL load Failed: Le module spécifié est introuvable.
而且我无法通过以下方式“捕获此异常”:
try:
from kivymd.app import MDApp
except Exception as e:
print(e)
为什么我在大导入时没有被阻止?
为什么我不能捕捉到这个异常?
我应该怎么做才能防止这种错误?
我应该在 kivymd Github 存储库中创建票证吗? (如果库需要依赖项,默认情况下库应该自行下载吗?)
解决方法
- 为什么我在大导入时没有被阻止?
因为 kivy 可以使用一些延迟加载并且主导入无法触发所有子模块
- 为什么我不能捕捉到这个异常?
您可以通过以下方式捕获该异常:
try:
from kivymd.app import MDApp
except ImportError as ie:
print(ie)
- 我应该怎么做才能防止这种错误?
Kivy 不是纯 Python 框架,它依赖于多个外部模块,例如 SDL。因此,根据您的操作系统,您必须安装该库。
- 我应该在 kivymd Github 存储库中创建票证吗? (如果库需要依赖项,默认情况下库应该自行下载吗?)
不一定。这种依赖来自 kivy 本身,而不是直接来自 kivymd,这显然取决于 kivy。建议你查看kivy的安装方法:doc