【问题标题】:Getting Kivy to work in Ubuntu on WSL2 on Win10让 Kivy 在 Win10 上的 WSL2 上的 Ubuntu 中工作
【发布时间】: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


    【解决方案1】:

    谁能告诉我我需要对 Ubuntu 做些什么才能让 Kivy 正常工作。

    您需要安装和设置 X 服务器。

    我不清楚,你为什么真的需要/想要这样做?为什么不使用 windows 进行 gui 开发,使用 Ubuntu 环境进行打包?

    我很高兴为 Ubuntu 提供帮助并安装一个对初学者更友好的 Linux 发行版,它更像 Windows,并且预装了诸如窗口管理器之类的东西。

    Ubuntu 正是那种对初学者友好的发行版。您没有开箱即用的 gui 支持的原因是没有为它设置 WSL2,而不是 Ubuntu 做错了什么,尽管我知道 WSL2 正朝着拥有一些内置的 Wayland 支持的方向发展。

    【讨论】:

    • 这是一个很好的问题,在我的部署/打包环境中,我想我应该在打包之前验证应用程序是否运行作为最后的检查。打包前需要做一些机械准备工作,但我可以在开发环境中完成,只需使用 Ubuntu 进行打包:)
    猜你喜欢
    • 1970-01-01
    • 2014-04-17
    • 2021-04-14
    • 2017-01-31
    • 1970-01-01
    • 2020-02-22
    • 2021-03-16
    • 2022-07-24
    • 2022-01-03
    相关资源
    最近更新 更多