无法在 Ubuntu Wily 上运行 Kivy
Posted
技术标签:
【中文标题】无法在 Ubuntu Wily 上运行 Kivy【英文标题】:Can't run Kivy on Ubuntu Wily 【发布时间】:2016-03-03 11:39:42 【问题描述】:我是 python 和 kivy 的新手,我想运行我的第一个 kivy 程序。当我运行程序时出现此错误:
/usr/bin/python3.4 /home/mmu/PycharmProjects/ShipControl/gui/gui.py
[INFO ] [Logger ] Record log in /home/mmu/.kivy/logs/kivy_15-11-29_0.txt
[INFO ] [Kivy ] v1.9.0
[INFO ] [Python ] v3.4.3+ (default, Oct 14 2015, 16:03:50)
[GCC 5.2.1 20151010]
[INFO ] [Factory ] 173 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[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 57, 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 65, in core_select_lib
cls = cls()
File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 121, in __init__
super(WindowSDL, self).__init__()
File "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", line 616, in __init__
self.create_window()
File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 171, in create_window
self.fullscreen, resizable, state)
File "kivy/core/window/_window_sdl2.pyx", line 60, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:1379)
x11 - ImportError: No module named 'kivy.core.window.window_x11'
File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 57, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL ] [App ] Unable to get a Window, abort.
Process finished with exit code 1
我已经安装了 kivy 使用
sudo apt-get install python3-kivy
我错过了什么吗?当我搜索这些错误时,我发现有人建议安装 pygame 但这似乎是一个死项目?
【问题讨论】:
我认为这是一个已知问题,但我不确定它的状态。 oyu 有没有试过使用 kivy 的 master 分支(日常包)? 【参考方案1】:这个问题对我来说也发生在 16.04。
我的解决方案,删除 ubuntu 包(为了保存)并使用 pip 安装:
sudo apt-get remove python3-kivy
sudo pip3 install kivy
【讨论】:
【参考方案2】:我刚刚从 git wily 上安装了 kivy,这是我的 bash_history
sudo apt-get install git
mkdir ~/code
cd ~/code
git clone http://github.com/kivy/kivy
cd kivy/
wget http://bootstrap.pypa.io/get-pip.py
python get-pip.py --user
export PATH=$PATH:~/.local/bin/
pip install cython --user
sudo apt-get install python-dev
sudo apt-get install libgles2-mesa-dev
pip install cython --user
sudo apt-get install libgles1-mesa-dev
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev zlib1g-dev
make
export PYTHONPATH=~/code/kivy/
pip install pygments --user
pip install docutils --user
python examples/demo/showcase/main.py
对于使用 python3,只需将 make
替换为 python3 build_ext --inplace
pip 与 pip3,然后您可以使用 python3 运行
【讨论】:
【参考方案3】:正如他在评论中所说的,改用 kivy-daily 解决了问题!我必须在我的机器上进行 dist-upgrade 以解决一些依赖关系。
【讨论】:
您能详细说明一下这个解决方案吗?如何切换到kivy-daily?【参考方案4】:我的解决方案与 Sebastian 的类似,但适用于 Python 2.7。
sudo apt-get remove python-kivy
sudo pip install kivy
sudo pip install pygame
【讨论】:
【参考方案5】:判断错误sdl2
- TypeError: expected bytes, str found
sdl2 dependency
的安装帮助了我:
sudo apt-get install python3-sdl2
【讨论】:
以上是关于无法在 Ubuntu Wily 上运行 Kivy的主要内容,如果未能解决你的问题,请参考以下文章
网易Ubuntu镜像使用帮助(ubuntu15.10 修改源)
使用非嵌入式数据库时,SonarQube 无法在 Ubuntu 上运行。 (弹性搜索无法启动)