首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >x11 - ImportError:没有名为“kivy.core.window.window_x11”的模块

x11 - ImportError:没有名为“kivy.core.window.window_x11”的模块
EN

Stack Overflow用户
提问于 2017-08-06 15:47:22
回答 4查看 11.1K关注 0票数 8

当我尝试在我的kali linux操作系统上用python3.5运行任何kivy程序时。然后我得到了下面的错误。

计划:-

代码语言:javascript
运行
复制
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.relativelayout import RelativeLayout

Builder.load_string('''
<hey>:
    RelativeLayout:
        Button:
            text:"Hey"
''')

class hey(RelativeLayout):
    pass

class helloApp(App):
    def build(self):
        return hey()

if __name__=="__main__":
    helloApp().run()

错误:-

代码语言:javascript
运行
复制
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name 'bcm'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - TypeError: expected bytes, str found
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 138, in __init__
    super(WindowSDL, self).__init__()
  File "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", line 722, in __init__
    self.create_window()
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 237, in create_window
    self.fullscreen, resizable, state)
  File "kivy/core/window/_window_sdl2.pyx", line 94, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:2204)

x11 - ImportError: No module named 'kivy.core.window.window_x11'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[CRITICAL] [App         ] Unable to get a Window, abort.

当我在以前的kali linux操作系统上安装kivy时,它曾经工作得很好,但由于某些原因,我再次安装了kali和kivy,但这次我不能使它工作。

EN

回答 4

Stack Overflow用户

发布于 2018-01-17 01:36:51

在我的例子中,它是一个过时的kivy版本。我看到你也在运行python3。删除kivy后,我做了以下操作,解决了我的问题:

代码语言:javascript
运行
复制
 sudo add-apt-repository ppa:kivy-team/kivy
 sudo apt-get update
 sudo apt-get install python3-kivy
票数 5
EN

Stack Overflow用户

发布于 2018-08-26 06:18:01

代码语言:javascript
运行
复制
pip install git+https://github.com/kivy/kivy.git@master

它对我来说就像一个护身符。

票数 2
EN

Stack Overflow用户

发布于 2020-04-10 08:21:49

在Ubuntu 19.04上,我基本上遇到了同样的错误(错误消息略有不同)

代码语言:javascript
运行
复制
...
[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
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/lib/python3/dist-packages/kivy/lib/vidcore_lite/__init__.py)
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

即使在尝试了这些答案中的建议后,错误仍然存在。即使使用来自Kivy website的“稳定”包也无济于事,我必须承认这有点令人失望。

对我来说起作用的是通过pip3安装Kivy包,但这也需要一些依赖:

代码语言:javascript
运行
复制
# remove the old packages
sudo apt-get remove --purge *kivy*

# install some dependencies for the package build
sudo apt-get install libav-dev libsdl2-dev libavformat-dev libavdevice-dev

# Install the kivy modules with `pip3` (assuming pip3 is installed already)
sudo pip3 install ffpyplayer
sudo pip3 install kivy
sudo pip3 install kivy-examples

可能还有更多的依赖项需要通过pip3安装,我碰巧已经安装了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45529794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档