【发布时间】:2020-10-15 20:39:06
【问题描述】:
我正在 Win10 上使用 VSCode 开发 Kivy 应用程序。一切正常。
要将我的应用部署到 Android,我想使用仅在 Linux 上运行的 buildozer。我已经打开了 WSL2 并安装了 Ubuntu。一切正常。
我在 Linux 中创建了一个完全独立的部署环境来补充我的 Windows 开发环境。我在这两种情况下都使用虚拟环境。一切正常。
当我在 Windows 环境中运行我的应用程序时,它可以工作。当我在 Linux 环境中运行它时,它失败了。搜索后,我相信问题与窗口有关。 Kivy 想打开一个窗口,但我的 Ubuntu 没有为此设置。
顺便说一句,我对 Linux 了解不多。
这是代码和消息。
示例代码
from kivy.app import App
from kivy.uix.label import Label
class Play(App):
def build(self):
l = Label(text="Hello World")
return l
if __name__ == '__main__':
Play().run()
错误信息
/usr/bin/env /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python /home/mkortink/.vscode-server/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/launcher 65502 -- /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/hello.py
mkortink@DESKTOP-6FAUQ4D:/mnt/c/Users/mark/OneDrive/dev/babyclix_stg$ /usr/bin/env /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python /home/mkortink/.vscode-server/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/launcher 65502 -- /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/hello.py
source /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/activate
[INFO ] [Logger ] Record log in /home/mkortink/.kivy/logs/kivy_20-10-16_3.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/lib/python3.7/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.9 (default, Aug 18 2020, 02:07:21)
[GCC 9.3.0]
[INFO ] [Python ] Interpreter at "/mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO ] [Window ] Provider: x11(['window_egl_rpi', 'window_sdl2'] ignored)
Couldn't connect to X server
谁能告诉我我需要对 Ubuntu 做些什么才能让 Kivy 正常工作。 或者,我很高兴为 Ubuntu 提供支持,并安装一个对初学者更友好的 Linux 发行版,它更像 Windows,并且预装了诸如窗口管理器之类的东西。
谢谢
【问题讨论】:
标签: python linux ubuntu kivy buildozer