【问题标题】:Kivy error: Unable to get a Text provider, abortKivy 错误:无法获取文本提供程序,中止
【发布时间】:2019-09-08 00:44:43
【问题描述】:

所以我试试这个代码:

from kivy.app import App
from kivy.uix.label import Label


class FirstKivy(App):

    def build(self):
        return Label(text="Hello Kivy!")

FirstKivy().run()

得到了这个error:

[INFO] [Logger] 记录登录 C:\Users\raviv.kivy\logs\kivy_19-04-17_45.txt [信息] [Kivy
] v1.10.1 [INFO] [Python] v3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 位 (Intel)] [INFO ] [工厂
] 194 个符号已加载 [INFO] [Image] 提供者:img_tex, img_dds、img_gif(img_sdl2、img_pil、img_ffpyplayer 被忽略) [CRITICAL] [Text] 找不到任何有价值的文本提供程序。 sdl2 - ImportError: DLL load failed: 指定的模块不能 成立。文件 "C:\Users\jim\csv_file\lib\site-packages\kivy\core__init__.py", 第 59 行,在 core_select_lib 中 fromlist=[modulename], level=0) 文件 "C:\Users\jim\csv_file\lib\site-packages\kivy\core\text\text_sdl2.py", 第 12 行,在 从 kivy.core.text._text_sdl2 导入 (_SurfaceContainer, _get_extents,

pil - ModuleNotFoundError:没有名为“PIL”文件的模块 "C:\Users\jim\csv_file\lib\site-packages\kivy\core__init__.py", 第 59 行,在 core_select_lib 中 fromlist=[modulename], level=0) 文件 "C:\Users\jim\csv_file\lib\site-packages\kivy\core\text\text_pil.py", 第 7 行,在 从 PIL 导入 Image、ImageFont、ImageDraw

[CRITICAL] [App] 无法获取文本提供程序,中止。

所以我找到了this post 并安装了所有提到的内容:

pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew 
pip install kivy.deps.gstreamer 
pip install kivy.deps.angle 
pip install –-upgrade kivy

仍然得到这个error

【问题讨论】:

  • 你安装的python版本多吗?您需要为每个版本的 Python 安装 Kivy。为上述每个安装尝试python -m pip install ...。
  • 我如何检查这个?如果我在 cmd python 中输入,则返回 Python 3.7.2
  • 看来你的错误是Python 3.7.2,所以问题不大可能是kivy安装在错误的python下。
  • 有什么解决方法的建议吗?

标签: python kivy


【解决方案1】:

试一试

pip install kivy.deps.glew

或

pip install kivy.deps.angle

去掉一个,看看错误是否有变化;我会想象它的角度。我在使用图形卡驱动程序时遇到了类似的问题。您也不需要 gstreamer(现在)

【讨论】:

  • 我的意思是删除一个。
  • 或者尝试直接安装PIL。
  • Pillow..python 库
  • 您是否尝试过去除角度或倾斜?如果不尝试直接安装 PIL,那就是您遇到的模块错误。可能您的 python 没有“正确”安装,但我不这么认为。 pip3 install pillow
  • 还要确保您在 IDE 中使用的 python 不在 venv 中,它不使用您需要的所有依赖项。你用的是什么IDE?检查解释器设置
【解决方案2】:

我遇到了这个错误,我通过安装 PIL (Pillow) 解决了它 只需输入

pip install Pillow

【讨论】:

    【解决方案3】:

    在我将类包装在 if 语句中之前,我遇到了与您完全相同的问题。它是这样的:

    class MyApp(App):
        def build(self):
            return Label(text='Hey');
    
    if __name__ == '__main__':
        MyApp().run();
    

    【讨论】:

    • if 语句在哪里?
    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-29
    • 2017-01-05
    • 2019-07-15
    相关资源
    最近更新 更多