无法获取文本提供程序,中止

时间:2019-06-11 17:46:33

标签: python kivy

我将kivy和pygame安装到python并尝试运行此命令:

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


class MyApp(App):
    def build(self):
        return Label(text="fcguh")


if __name__ == "__main__":
    MyApp().run()

它显示一条错误消息,提示“没有名为“ kivy”的模块”。

然后我尝试在Internet上找到解决方案,做了一些我想不起的事情,错误消息变成了这样:

[INFO   ] [Logger      ] Record log in C:\Users\dekmeymey\.kivy\logs\kivy_19-06-12_4.txt 
[INFO   ] [Kivy      ] v1.11.0 
[INFO   ] [Kivy        ] Installed at "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy\__init__.py" 
[INFO   ] [Python      ] v3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] 
[INFO   ] [Python      ] Interpreter at "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\pythonw.exe" [INFO   ] [Factory     ] 184 symbols loaded 
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored) 
[CRITICAL] [Text        ] Unable to find any valuable Text provider. 
Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes sdl2 - ImportError: DLL load failed: The specified module could not be found.   File "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
            fromlist=[modulename], level=0)   File "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy\core\text\text_sdl2.py", line 13, in <module>
            from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

        pil - ModuleNotFoundError: No module named 'PIL'   File "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
            fromlist=[modulename], level=0)   File "C:\Users\dekmeymey\AppData\Local\Programs\Python\Python37\lib\site-packages\kivy\core\text\text_pil.py", line 7, in <module>
            from PIL import Image, ImageFont, ImageDraw

[CRITICAL] [App         ] Unable to get a Text provider, abort. 

我尝试再次安装kivy,以防万一我什么都没错过但什么都没改变。有人可以帮忙吗?我有一个学校项目要完成。

编辑:在我能够安装kivy之前,我的pip也不起作用。我在Internet上尝试了无数种方法来寻找该解决方案,但我只是卸载并重新安装了python才能使其正常工作。

我找到了答案!

我将此复制到了命令提示符

bitsadmin /transfer "GetBatch" "https://git.io/vDDjn" "%cd%\python\kivy.bat"
cd python

,然后在C:中搜索kivy。之后,我复制了pyhton文件并将其放入kivy文件夹。运行它,就可以了!

2 个答案:

答案 0 :(得分:1)

您需要将该目录添加到路径:

import sys
sys.path.append('../kivy')

如果您经常使用它,可以将其放入模块中。

答案 1 :(得分:0)

有趣的事情:当我编辑您的问题(开头是 import )时,由于标题“ Kivy无法正常工作”(必须更改)。我发现除了 OK 以外,由于 Kivy 正在工作,因此问题就在您这边。我不明白的是:为什么首先要使用该标题。

错误特别明显:

pil - ModuleNotFoundError: No module named 'PIL'

这很常见。 枕头(以前称为 PIL )是 Kivy 的依赖项之一。

检查[Kivy]: Installation on Windows - Installing the kivy stable release,以获取更多详细信息,请注意python -m pip install ...步骤。
其中一个将安装 Pillow -或如果没有发生(虽然应该不会),请手动安装:python -m pip install pillow(也可能适用于其他软件包)。