【问题标题】:Kivy Error: Could not find a version that satisfies the requirement kivy.deps.sdl2Kivy 错误:找不到满足 kivy.deps.sdl2 要求的版本
【发布时间】:2021-05-31 09:46:38
【问题描述】:

我正在学习 Kivy 并关注这篇文章 https://realpython.com/mobile-app-kivy-python/ 我收到此错误。如果解释清楚,那将很有帮助。 os:macOS Big Sur,我在用虚拟机练习。

$which python
/Users/xcodeclub/my_kivy_project/bin/python

$which pip
/Users/xcodeclub/my_kivy_project/bin/pip
(my_kivy_project) xcodeclub@XCodeClub11 my_kivy_project % ls
bin     include     lib     main.py     pyvenv.cfg
(my_kivy_project) xcodeclub@XCodeClub11 my_kivy_project % python3 main.py 
[INFO   ] [Logger      ] Record log in /Users/xcodeclub/.kivy/logs/kivy_21-05-31_12.txt
[INFO   ] [Kivy        ] v2.0.0
[INFO   ] [Kivy        ] Installed at "/Users/xcodeclub/my_kivy_project/lib/python3.9/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.9.5 (default, May  4 2021, 03:36:27) 
[Clang 12.0.0 (clang-1200.0.32.29)]
[INFO   ] [Python      ] Interpreter at "/Users/xcodeclub/my_kivy_project/bin/python3"
[INFO   ] [Factory     ] 186 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_imageio, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[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 - RuntimeError: b'Failed creating OpenGL pixel format'
  File "/Users/xcodeclub/my_kivy_project/lib/python3.9/site-packages/kivy/core/__init__.py", line 70, in core_select_lib
    cls = cls()
  File "/Users/xcodeclub/my_kivy_project/lib/python3.9/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
    super(WindowSDL, self).__init__()
  File "/Users/xcodeclub/my_kivy_project/lib/python3.9/site-packages/kivy/core/window/__init__.py", line 982, in __init__
    self.create_window()
  File "/Users/xcodeclub/my_kivy_project/lib/python3.9/site-packages/kivy/core/window/window_sdl2.py", line 286, in create_window
    self.system_size = _size = self._win.setup_window(
  File "_window_sdl2.pyx", line 234, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "_window_sdl2.pyx", line 74, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

[CRITICAL] [App         ] Unable to get a Window, abort.
(my_kivy_project) xcodeclub@XCodeClub11 my_kivy_project % 
Tried these:

pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

Error:
ERROR: Could not find a version that satisfies the requirement kivy.deps.sdl2 (from versions: none)
ERROR: No matching distribution found for kivy.deps.sdl2

【问题讨论】:

  • 你使用的是 Cygwin 还是类似的东西?
  • 还有你的虚拟机上的什么操作系统?
  • 请给我们一个可重现的最小例子。
  • @AribMuhtasim MacOS Big Sur - VM 中的操作系统。不,不使用 Cygwin。 main.py 只包含一个在 Kivy 中构建 hello 的最小程序。
  • 这是一个openGL驱动错误,你可以看到错误是RuntimeError: b'Failed created OpenGL pixel format' 尝试使用一些工具测试你的系统中OpenGL是否正常运行

标签: python python-3.x macos kivy kivy-language


【解决方案1】:

查看您的终端命令,我想您的虚拟机的OSLinux。在我意识到我尝试安装的dependencieslinux 不可用/必需之前,我在尝试安装glew、sdl2 时遇到了与Linux Mint 相同的问题。 你可以看看官方的 kivy 安装指南,段落“安装 Kivy 的依赖项”here

【讨论】:

    【解决方案2】:

    过去我也有过同样的头痛。 不幸的是 kivy 不能在 MacOS VM 中工作,因为 Kivy 需要至少 2.0 gl,这在任何 OSX VM 中都不可用(我在 Windows 和 Linux 中测试了几个 VM,结果相同),因为在VM 它无法访问硬件加速。这是一个众所周知的问题,read this on Kivy Github。因此,您的测试应用必须在真正的 Mac 上运行。

    仅供参考 - 在我使用的所有 MacOS 虚拟机(VMWare、VirtualBox 和 QEMU)中,即使是最简单的 Hello World 应用程序,kivy 也无法运行,无论您使用什么方式安装 kivy 及其所有依赖项(pip、brew、MacPorts、框架) ,康达,......还有什么......)。 运行'kivy main.py'(或python main.py)结果总是一样的:

    [CRITICAL] [Window] Unable to find any valuable Window provider at all!
    sdl2 - RuntimeError: Failed creating OpenGL pixel format
    

    【讨论】:

      猜你喜欢
      • 2020-09-24
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2021-04-25
      • 1970-01-01
      • 2021-10-19
      相关资源
      最近更新 更多