Windows10 Python3.9环境首次运行Kivy报错无法获取窗口中止如何解决
Windows 10 + Python 3.9环境Kivy无法创建窗口问题解决方案
本次报错核心由两个问题导致:
- 安装阶段
python setup.py egg_info报错是高版本setuptools不兼容旧版Kivy依赖的安装逻辑 - 运行阶段
DLL load failed while importing window_sdl2报错是Kivy 2.0.0对Python 3.9适配不完善、以及Windows商店版Python的DLL加载路径识别异常
解决步骤
- 第一步:卸载所有现有Kivy相关依赖,执行命令:
pip uninstall -y kivy kivy.deps.sdl2 kivy.deps.glew kivy.deps.gstreamer kivy.deps.angle
- 第二步:升级基础依赖后安装适配Python 3.9的高版本Kivy,执行以下命令:
python -m pip install --upgrade pip wheel setuptools==58.2.0 python -m pip install "kivy[full]"==2.2.1
注:指定setuptools版本为58.2.0是因为更高版本setuptools不再支持egg_info命令的旧语法,会导致Kivy依赖安装失败
- 第三步:如果使用的是Windows商店版本Python,执行以下操作修复DLL加载路径问题:
- 打开系统环境变量配置,在用户变量的
Path中新增以下两条路径(注意替换路径中的用户名为你自己的系统用户名):
C:\Users\你的用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\kivy_deps\sdl2\bin C:\Users\你的用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\kivy_deps\glew\bin- 重启命令行工具后再运行Kivy代码
- 打开系统环境变量配置,在用户变量的
- 第四步:临时验证方案,如果不想修改环境变量,可以在你的代码最开头加入以下两行,手动加载依赖路径:
import os os.add_dll_directory(r"C:\Users\你的用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\kivy_deps\sdl2\bin") from kivy.app import App class TheLabApp(App): pass TheLabApp().run()
- 若以上方案都无效,建议卸载Windows商店版本的Python,换成Python官网下载的64位Python 3.9安装包重新配置环境,再重复上述安装步骤即可。
内容的提问来源于stack exchange,提问作者Joshpy
相关产品推荐
相关产品推荐

