如何从我的 kivy 程序中删除“sdl2 - ImportError”和“pil - ModuleNotFoundError”

Posted

技术标签:

【中文标题】如何从我的 kivy 程序中删除“sdl2 - ImportError”和“pil - ModuleNotFoundError”【英文标题】:How can i remove " sdl2 - ImportError" and "pil - ModuleNotFoundError" from my kivy program 【发布时间】:2019-09-23 04:16:09 【问题描述】:

我是 kivy 的新手,想运行我的第一个程序,但我得到了

sdl2 - ImportError: DLL load failed " and "pil - ModuleNotFoundError: No module named 'PIL'

我应该怎么做才能消除错误?

我尝试全部安装:

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

python -m pip install kivy.deps.sdl2

但似乎没有什么能解决我的问题。

这是我尝试过的代码:

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

class Myapp(App):
    def  build(self):
        return Label(text="Abhay 's APP")

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

我得到的输出:

[INFO   ] [Logger      ] Record log in C:\Users\SONY VAIO\.kivy\logs\kivy_19-05-05_44.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)]
[INFO   ] [Factory     ] 194 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.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\Users\SONY VAIO\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\SONY VAIO\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\core\text\text_sdl2.py", line 12, in <module>
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

pil - ModuleNotFoundError: No module named 'PIL'
  File "C:\Users\SONY VAIO\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\SONY VAIO\AppData\Local\Programs\Python\Python37-32\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.org/doc/stable/installation/installationwindows.html 。您尝试安装它们时是否出现任何错误? 对不起,链接中有错字。必须是kivy.org/doc/stable/installation/installation-windows.html 【参考方案1】:

使用pycharm时,需要安装pycharm环境中的所有依赖。

【讨论】:

【参考方案2】:

遇到了同样的问题。显然,pypi 不支持 Python 3.5+。

请尝试从 github 上的 master 分支安装它:

python -m pip install https://github.com/kivy/kivy/archive/master.zip

确保也安装 pygame:

python -m pip install pygame

在他们的 github 上找到了这个解决方案: https://github.com/kivy/kivy/issues/4991

【讨论】:

以上是关于如何从我的 kivy 程序中删除“sdl2 - ImportError”和“pil - ModuleNotFoundError”的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的工具栏中删除应用程序名称?

如何从我的 iOS 应用程序中删除 Twitter 的会话和 cookie

如何从我的 iOS 应用程序中删除推送通知?

Kivy:滚动缩放

如何从我的应用程序中删除新的返回上一个应用程序 iOS 9 按钮?

如果未动态添加,如何正确删除Kivy中的小部件