我正在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一个flick,并安装一个更适合初学者的Linux发行版,它更像Windows,并且预装了窗口管理器之类的东西
谢谢
您需要安装并设置一个X服务器
我不清楚,你为什么真的需要/想要这样做?为什么不使用windows进行gui开发,使用Ubuntu环境进行打包
Ubuntu正是那种初学者友好的发行版。您没有现成的gui支持的原因是WSL2并没有为此进行设置,并不是Ubuntu做错了什么,尽管我知道WSL2正在朝着内置wayland支持的方向发展
相关问题 更多 >
编程相关推荐