python-3.x 为什么kivmd安装中缺少文件?[已关闭]

vu8f3i0k  于 2023-02-06  发布在  Python
关注(0)|答案(1)|浏览(199)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
6小时前关门了。
Improve this question
我尝试在不同的开发环境中使用我的GUI应用程序(WSL2 Ubuntu vs. VM上的常用Ubuntu),所以我克隆了我的repo,并pip安装了必要的库(pip install kivy,pip install kivymd),当我尝试运行我的应用程序时,我收到一个错误消息:
"未找到文件错误:[Errno 2]没有这样的文件或目录:"/home/空间管理器/开发/路径/到/venv/lib/python3.8/站点包/kivymd/uix/标签/标签. kv'"
你瞧,那个文件实际上不在那里(令人震惊)。问题是为什么?是因为我正在使用WSL吗(我不明白为什么会这样,tho)
Python版本为3.8
最小可重现步骤为(从WSL2 Ubuntu终端(bash))

pip install kivy
pip install kivymd
echo from kivymd.uix.label import MDLabel | python3
2g32fytz

2g32fytz1#

我对Kivy本身没有任何专业知识(但我可能会在某个时候想更详细地了解它),但是在WSL上新安装的Ubuntu 22.04发行版(Python 3.10)上,我得到了一组不同的错误(下面是解决方案和解释):

sudo apt update && sudo apt upgrade -y
sudo apt install python3-venv
python3 -m venv ~/src/venv/kivy
source ~/src/venv/kivy/bin/activate
pip install kivy kivymd
echo from kivymd.uix.label import MDLabel | python3

而不是你看到的错误,我得到了一些错误。亮点:

OSError: libmtdev.so.1: cannot open shared object file: No such file or directory
...
Message: 'Input: MTDev is not supported by your version of linux'
...
[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
sdl2 - ImportError: libGL.so.1: cannot open shared object file: No such file or directory
...
x11 - ImportError: libGL.so.1: cannot open shared object file: No such file or directory
...
[CRITICAL] [App         ] Unable to get a Window, abort.

这里的问题不一定是您使用的是WSL,除了安装在WSL上的Ubuntu发行版是基于Ubuntu Server 的,而您几乎可以肯定是在“VM上的常用Ubuntu”中的Ubuntu Desktop GUI版本上运行应用。
当然,在Ubuntu的常规桌面版本上默认安装的许多图形应用程序(更重要的是 * 库 *)在Ubuntu服务器(因此WSL)上默认是不存在的。
没有理由你不能安装它们,但是你经常需要确定确切的依赖关系。通常,就像在这个例子中,它将是应用程序的一些图形化后端。为了解决我收到的错误(并且 * 希望 * 也是问题的根源):

sudo apt install libmtdev1 libgl1-mesa-glx

请注意,在这里,当我运行上面的示例命令时,仍然会遇到分段错误,但无论如何,您都需要一些additional configuration才能从该点向前移动。

相关问题