如何成功下载库但无法从中导入项目?

Posted

技术标签:

【中文标题】如何成功下载库但无法从中导入项目?【英文标题】:How can I successfully download a library and fail to import an item from it? 【发布时间】:2021-03-31 07:39:03 【问题描述】:

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 存储库中创建票证吗? (如果库需要依赖,默认情况下库应该自己下载?)

【问题讨论】:

这看起来不像是标准异常,因此可以解释无法捕获它。 这能回答你的问题吗? sdl2 - ImportError: DLL load failed: The specified module could not be found and [CRITICAL] [App] Unable to get a Window, abort 我看到了这篇文章,但我没有同样的问题。更多的是关于“为什么有一个我无法捕捉到的 ImportError !!!”以及在这种情况下该怎么办!当这不是标准异常时该怎么办?因为 kivymd 有多个我无法捕获的异常(通过示例创建小部件),我想知道为什么以及我能做什么? 【参考方案1】: 为什么我的大导入没有被阻止?

因为 kivy 可以使用一些延迟加载,而主导入无法触发所有子模块

为什么我不能捕捉到这个异常?

您可以按以下方式捕获该异常:

try:
    from kivymd.app import MDApp
except ImportError as ie:
    print(ie)
我应该怎么做才能防止这种错误?

Kivy 不是纯 Python 框架,它依赖于多个外部模块,例如 SDL。因此,根据您的操作系统,您必须安装该库。

我应该在 kivymd Github 存储库中创建票证吗? (如果库需要依赖,默认情况下库应该自己下载?)

不一定。这种依赖来自kivy本身,而不是直接来自kivymd,这显然取决于kivy。建议你查看kivy的安装方法:doc

【讨论】:

感谢您的快速回答,我尝试了 ImportError,它也不起作用,如果异常不起作用,我认为没有异常可以处理? (但我试过了)那么为什么 kivy 不导入它呢?我会检查,但我还不明白他们为什么不这样做。 这确认问题在于您安装的 Kivy 缺少 sdl2 库。 ImportError 仅适用于 Python 模块,不适用于外部库。尝试重新安装 Kivy 框架,看看他们网站上的基本示例是否正常工作。

以上是关于如何成功下载库但无法从中导入项目?的主要内容,如果未能解决你的问题,请参考以下文章

IDEA maven中引入的依赖不自动导入项目

使用 python faker 库但有导入错误

idea导入别人的项目运行成功,怎么查看系统

如何使用 conda 在 spyder 上导入 dlib?

如何使用 android studio 导入和运行项目

Vue项目导入excel表,自动下载导入失败数据的excel表(使用ElementUI upload组件,自定义导入excel表)