无法运行简单的程序 - Python - Kivy - Ubuntu

Posted

技术标签:

【中文标题】无法运行简单的程序 - Python - Kivy - Ubuntu【英文标题】:Can't run simple program- Python - Kivy - Ubuntu 【发布时间】:2020-10-21 02:17:11 【问题描述】:

大家好,我正在尝试直接从控制台运行一个简单的代码:

python test.py

代码是这个:

import kivy.app
import kivy.uix.label

class TestApp(kivy.app.App):
    def build(self):
        return kivy.uix.label.Label(text="Hello World")
        
app = TestApp()
app.run() 

当我尝试运行它时,它会抛出这个错误:

[WARNING] [Deprecated  ] Python 2 Kivy support has been deprecated. The Kivy release after 1.11.0 will not support Python 2 anymore
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_pygame, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_pygame'] ignored)
[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
  File "/home/omar/.local/lib/python2.7/site-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/omar/.local/lib/python2.7/site-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

pygame - ImportError: No module named pygame
  File "/home/omar/.local/lib/python2.7/site-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/omar/.local/lib/python2.7/site-packages/kivy/core/window/window_pygame.py", line 13, in <module>
    import pygame

x11 - ImportError: No module named window_x11
  File "/home/omar/.local/lib/python2.7/site-packages/kivy/core/__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)

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

我一直在寻找一些解决方案,其中一些是为 Kivy 安装先决条件,但是当我尝试执行以下几行时:

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew; 
python -m pip install kivy.deps.gstreamer

它抛出了下一个错误:

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

...等等。

我在 Windows 中运行所有代码时没有问题,但在 Ubuntu 上我不知道该怎么做。

我在 Ubuntu 18.04.4 LTS 上运行,我不知道我应该提供什么信息。

【问题讨论】:

你尝试过kivy docs的“官方”方式吗?考虑一下:kivy.org/doc/stable/installation/installation-linux.htmlsudo add-apt-repository ppa:kivy-team/kivy &amp;&amp; sudo apt-get install python-kivy 【参考方案1】:

我相信这是因为您使用的是 python2 而不是 python3。 Linux 标配有 python2,即使你安装了 python3,如果你不明确说话,它也会与 python2 一起运行。

1- 确保您已安装 python3。 2-运行python3 test.py

【讨论】:

以上是关于无法运行简单的程序 - Python - Kivy - Ubuntu的主要内容,如果未能解决你的问题,请参考以下文章

python:kivy应用程序未关闭

Python 问题,智能手机上的 kivy 应用程序

无法从使用 PyInstaller 构建的 Kivy 应用程序中获取 lexers.PythonLexer()

Python kivy - 如何减少 TextInput 的高度

例外:SDL2:无法加载图像 - 在 android 上运行 kivy apk 时

带有分离的 kivy 文件的 Kivy 相机