【问题标题】:Kivy error, [CRITICAL] [Text ] unable to find any valuable text provider (python 3.6.1) (windows 10)Kivy 错误,[CRITICAL] [Text] 无法找到任何有价值的文本提供程序(python 3.6.1)(windows 10)
【发布时间】:2018-01-21 04:09:14
【问题描述】:

在测试安装时,我一直在尝试在 pycharm 中使用 Kivy (1.10.0):

from kivy.app import App
from kivy.uix.button import Button


class TutorialApp(App):

    def build(self):
        return Button(text='Hello Kivy')

if __name__ == '__main__':
    TutorialApp().run()

也尝试使用“标签”代替“按钮”

我两次在 pycharm 中运行时都得到了这个:

[INFO   ] [Logger      ] Record log in C:\Users\Denise\.kivy\logs\kivy_17-08-12_56.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 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\Denise\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\Denise\AppData\Local\Programs\Python\Python36-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\Denise\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\Denise\AppData\Local\Programs\Python\Python36-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.

在 python 3.6.1 shell 中输入以下内容时出现同样的错误:

from kivy.uix.button import Button

from kivy.uix.button import Lable

请帮忙,我如何让 Kivy 运行?

【问题讨论】:

    标签: python python-3.x kivy


    【解决方案1】:
    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: Invalid requirement: '–-upgrade' pip install --upgrade kivy 不再有效。
    【解决方案2】:

    在项目解释器的PyCharmm中,添加所有以:开头的包

    kivy-deps。

    标题中带有“dev”的除外

    【讨论】:

      【解决方案3】:

      根据源码

      if 'KIVY_DOC' not in os.environ:
          if not Label:
              from kivy.logger import Logger
              import sys
              Logger.critical('App: Unable to get a Text provider, abort.')
              sys.exit(1)
      

      确保你已经按照installation guide.安装了所有依赖

      【讨论】:

        【解决方案4】:

        我遇到了这个问题,然后我这样做了......(这是为使用 pycharm 并安装了所有软件包但仍然无法工作的人准备的)

        在设置->项目解释器->绿色加号图标安装包

        然后搜索“kivy.deps.sdl2”并安装。

        我希望这会有所帮助。

        【讨论】:

          【解决方案5】:

          参考:https://github.com/kivy/kivy/issues/5677#issuecomment-389980378-permalink 詹姆斯的回答对我很有帮助。 在 Windows 上,可以通过在 PATH 前添加 %AppData%\Python\share\glew\bin;%AppData%\Python\share\sdl2\bin; 来“解决”:

          【讨论】:

            【解决方案6】:

            我解决这个错误的方法是创建一个虚拟环境并在虚拟环境上运行程序

            (kivy_venv) C:\Users\musers\PycharmProjects\kivy-projects>python main.py
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-04-07
              • 2017-10-28
              • 2021-10-01
              • 1970-01-01
              • 2015-10-15
              • 2021-05-05
              相关资源
              最近更新 更多