Kivy 错误,[CRITICAL] [Text] 无法找到任何有价值的文本提供程序(python 3.6.1)(windows 10)
Posted
技术标签:
【中文标题】Kivy 错误,[CRITICAL] [Text] 无法找到任何有价值的文本提供程序(python 3.6.1)(windows 10)【英文标题】:Kivy error, [CRITICAL] [Text ] unable to find any valuable text provider (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 运行?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Kivy 错误,[CRITICAL] [Text] 无法找到任何有价值的文本提供程序(python 3.6.1)(windows 10)的主要内容,如果未能解决你的问题,请参考以下文章
带有 Kivy 错误的 Pycharm [CRITICAL] [App] 无法获取窗口,中止
Kivy错误:[CRITICAL] [App]无法获得一个窗口,中止
让 Kivy 最终在 Eclipse 中工作,编译然后错误:CRITICAL Application No window is created.Terminating application run
from kivy.core.window._window_sdl2 import _WindowSDL2Storage [CRITICAL] [App] 无法获取窗口,中止 [重复]