Error when running any kivy code: Kivy 2.0.0 , python 3.9 error: [CRITICAL] [Window ] Unable to find any valuable Window provider
Error when running any kivy code: Kivy 2.0.0 , python 3.9 error: [CRITICAL] [Window ] Unable to find any valuable Window provider
我一直遇到同样的错误 运行 我在 IntelliJ 中输入任何 kivy 代码。我正在使用 kivy 2.0.0 和 Python 3.9。
这是我的代码:
from kivy.app import App
from kivy.lang import Builder
kv = """
Screen:
FloatLayout:
Button:
text: "It works!"
pos_hint: {"x": 0.1, "y": 0.7}
text_size: self.size
"""
class MyApp(App):
def build(self):
self.screen = Builder.load_string(kv)
return self.screen
if __name__ == "__main__":
MyApp().run()
我尝试了很多解决方案,包括重新安装 kivy、添加到路径,并且我已经安装了所有依赖项。
这是错误消息:
[INFO ] [Logger ] Record log in C:\Users\James\.kivy\logs\kivy_21-10-25_21.txt
[INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.3.2
[INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.3.1
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\james\IdeaProjects\HelloWorld\venv\Scripts\python.exe"
[INFO ] [Logger ] Purge log fired. Analysing...
[INFO ] [Logger ] Purge 9 log files
[INFO ] [Logger ] Purge finished!
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_pil (img_sdl2, img_ffpyplayer ignored)
[INFO ] [Text ] Provider: pil(['text_sdl2'] ignored)
2.0.0
[CRITICAL] [Window ] Unable to find any valuable Window 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 while importing _window_sdl2: The specified module could not be found.
File "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\core\__init__.py", line 58, in core_select_lib
mod = __import__(name='{2}.{0}.{1}'.format(
File "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\core\window\window_sdl2.py", line 27, in <module>
from kivy.core.window._window_sdl2 import _WindowSDL2Storage
[CRITICAL] [App ] Unable to get a Window, abort.
Process finished with exit code 1
编辑
所以感谢 Weebify 我通过了。只需严格按照 kivy 文档中的所有下载说明进行操作即可。我发布了我用作答案的完整方法(未标记为最佳答案)。
这个问题的解决方法是卸载kivy
然后重新安装master的新锐版本:
python3 -m pip uninstall kivy
python3 -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"
好的,非常感谢 Weebify 的帮助。以下是 Windows 的完整下载说明,适用于遇到问题的任何人:
注意:Kivy 尚不支持 Python 3.10,但您可以通过 Python 3.9
顺利通过
设置终端和pip
在安装Kivy之前,Python和pip需要pre-installed。然后,启动一个具有 Python 可用的新终端。在终端中,更新 pip 和其他安装依赖项,以便您拥有最新版本,如下所示,(对于 linux 用户,您可能需要用 python3 代替 python 和还要在虚拟环境外的后续命令中添加 --user 标志):
python -m pip install --upgrade pip setuptools virtualenv
创建虚拟环境
- 为您的 Kivy 项目创建一个新的虚拟环境。一个虚拟的
环境将防止与其他可能的安装冲突
Python 版本和包。它是可选的但强烈
推荐:
在当前目录中创建名为 kivy_venv 的虚拟环境:
python -m virtualenv kivy_venv
- 激活虚拟环境。您必须从
每次启动新终端时的当前目录。这台
升级环境,以便使用新的 kivy_venv Python。
对于Windows默认CMD,在命令行执行:
kivy_venv\Scripts\activate
如果您在 Windows 上的 bash 终端中,请改为:
source kivy_venv/Scripts/activate
如果您在 Linux,请改为:
source kivy_venv/bin/activate
您的终端现在应该在路径前加上类似 (kivy_venv) 的内容,表示 kivy_venv 环境处于活动状态。如果它不说,虚拟环境没有激活,下面的就不行了。
安装 Kivy
最后,使用最新的 cutting-edge Kivy 安装 Kivy 来自大师:
python -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"
的更多信息
我一直遇到同样的错误 运行 我在 IntelliJ 中输入任何 kivy 代码。我正在使用 kivy 2.0.0 和 Python 3.9。 这是我的代码:
from kivy.app import App
from kivy.lang import Builder
kv = """
Screen:
FloatLayout:
Button:
text: "It works!"
pos_hint: {"x": 0.1, "y": 0.7}
text_size: self.size
"""
class MyApp(App):
def build(self):
self.screen = Builder.load_string(kv)
return self.screen
if __name__ == "__main__":
MyApp().run()
我尝试了很多解决方案,包括重新安装 kivy、添加到路径,并且我已经安装了所有依赖项。 这是错误消息:
[INFO ] [Logger ] Record log in C:\Users\James\.kivy\logs\kivy_21-10-25_21.txt
[INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.3.2
[INFO ] [deps ] Successfully imported "kivy_deps.angle" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.glew" 0.3.0
[INFO ] [deps ] Successfully imported "kivy_deps.sdl2" 0.3.1
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\Users\james\IdeaProjects\HelloWorld\venv\Scripts\python.exe"
[INFO ] [Logger ] Purge log fired. Analysing...
[INFO ] [Logger ] Purge 9 log files
[INFO ] [Logger ] Purge finished!
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_pil (img_sdl2, img_ffpyplayer ignored)
[INFO ] [Text ] Provider: pil(['text_sdl2'] ignored)
2.0.0
[CRITICAL] [Window ] Unable to find any valuable Window 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 while importing _window_sdl2: The specified module could not be found.
File "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\core\__init__.py", line 58, in core_select_lib
mod = __import__(name='{2}.{0}.{1}'.format(
File "C:\Users\james\AppData\Local\Programs\Python\Python39\lib\site-packages\kivy\core\window\window_sdl2.py", line 27, in <module>
from kivy.core.window._window_sdl2 import _WindowSDL2Storage
[CRITICAL] [App ] Unable to get a Window, abort.
Process finished with exit code 1
编辑 所以感谢 Weebify 我通过了。只需严格按照 kivy 文档中的所有下载说明进行操作即可。我发布了我用作答案的完整方法(未标记为最佳答案)。
这个问题的解决方法是卸载kivy
然后重新安装master的新锐版本:
python3 -m pip uninstall kivy
python3 -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"
好的,非常感谢 Weebify 的帮助。以下是 Windows 的完整下载说明,适用于遇到问题的任何人:
注意:Kivy 尚不支持 Python 3.10,但您可以通过 Python 3.9
顺利通过
设置终端和pip
在安装Kivy之前,Python和pip需要pre-installed。然后,启动一个具有 Python 可用的新终端。在终端中,更新 pip 和其他安装依赖项,以便您拥有最新版本,如下所示,(对于 linux 用户,您可能需要用 python3 代替 python 和还要在虚拟环境外的后续命令中添加 --user 标志):
python -m pip install --upgrade pip setuptools virtualenv
创建虚拟环境
- 为您的 Kivy 项目创建一个新的虚拟环境。一个虚拟的 环境将防止与其他可能的安装冲突 Python 版本和包。它是可选的但强烈 推荐:
在当前目录中创建名为 kivy_venv 的虚拟环境:
python -m virtualenv kivy_venv
- 激活虚拟环境。您必须从 每次启动新终端时的当前目录。这台 升级环境,以便使用新的 kivy_venv Python。
对于Windows默认CMD,在命令行执行:
kivy_venv\Scripts\activate
如果您在 Windows 上的 bash 终端中,请改为:
source kivy_venv/Scripts/activate
如果您在 Linux,请改为:
source kivy_venv/bin/activate
您的终端现在应该在路径前加上类似 (kivy_venv) 的内容,表示 kivy_venv 环境处于活动状态。如果它不说,虚拟环境没有激活,下面的就不行了。
安装 Kivy
最后,使用最新的 cutting-edge Kivy 安装 Kivy 来自大师:
python -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"
的更多信息