python - OSError : libmtdev. so.1:无法打开共享对象文件:没有这样的文件或目录

标签 python kivy

有人知道我如何修复这个错误。 在谷歌搜索令人难以置信的旧信息中,我没有找到答案...... 当我关闭我的应用程序时,我在 Linux 上的 x 服务器开始工作得令人难以置信。不能正常工作 OpenGL 2.0 和 OpenGL 3.1,在我的 KDE neon 最新版本上只能工作 XRender 而没有 VSync...

日志:

[INFO   ] [Logger      ] Record log in /home/sk2000/.kivy/logs/kivy_21-03-13_69.txt
[INFO   ] [Kivy        ] v2.0.0
[INFO   ] [Kivy        ] Installed at "/home/sk2000/pro/-pro/venv/lib/python3.8/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.8.8 (default, Nov 10 2011, 15:00:00) 
[GCC 10.2.0]
[INFO   ] [Python      ] Interpreter at "/home/sk2000/pro/-pro/venv/bin/python"
[INFO   ] [Factory     ] 186 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [KivyMD      ] 0.104.2.dev0, git-Unknown, 2021-03-13 (installed at "/home/sk2000/pro/-pro/venv/lib/python3.8/site-packages/kivymd/__init__.py")
[INFO   ] [Text        ] Provider: sdl2
[ERROR  ] [Input       ] MTDev is not supported by your version of linux
Traceback (most recent call last):
  File "/home/sk2000/pro/-pro/venv/lib/python3.8/site-packages/kivy/input/providers/__init__.py", line 41, in <module>
    import kivy.input.providers.mtdev
  File "/home/sk2000/pro/-pro/venv/lib/python3.8/site-packages/kivy/input/providers/mtdev.py", line 84, in <module>
    from kivy.lib.mtdev import Device, \
  File "/home/sk2000/pro/-pro/venv/lib/python3.8/site-packages/kivy/lib/mtdev.py", line 29, in <module>
    libmtdev = cdll.LoadLibrary('libmtdev.so.1')
  File "/usr/lib/python3.8/ctypes/__init__.py", line 451, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libmtdev.so.1: cannot open shared object file: No such file or directory
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'3.0 Mesa 20.3.4 (git-6d8c68603f)'>
[INFO   ] [GL          ] OpenGL vendor <b'Intel Open Source Technology Center'>
[INFO   ] [GL          ] OpenGL renderer <b'Mesa DRI Intel(R) Iris(R) Plus Graphics 650 (Kaby Lake GT3e) (KBL GT3)'>
[INFO   ] [GL          ] OpenGL parsed version: 3, 0
[INFO   ] [GL          ] Shading version <b'1.30'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [GL          ] NPOT texture support is available
main
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event10
[INFO   ] [ProbeSysfs  ] unable to found provider mtdev
[INFO   ] [ProbeSysfs  ] fallback on hidinput
[INFO   ] [HIDInput    ] Read event from </dev/input/event10>
[INFO   ] [Base        ] Start application main loop
[INFO   ] [HIDMotionEvent] using <SYNA3602:01 093A:0255 Touchpad >
[INFO   ] [HIDMotionEvent] <SYNA3602:01 093A:0255 Touchpad > range ABS X position is 0 - 1707
[INFO   ] [HIDMotionEvent] <SYNA3602:01 093A:0255 Touchpad > range ABS Y position is 0 - 1060
[INFO   ] [HIDMotionEvent] <SYNA3602:01 093A:0255 Touchpad > range position X is 0 - 1707
[INFO   ] [HIDMotionEvent] <SYNA3602:01 093A:0255 Touchpad > range position Y is 0 - 1060
[INFO   ] [Loader      ] using a thread pool of 2 workers
[INFO   ] [Base        ] Leaving application in progress...

最佳答案

我在 Linux Mint 20.2 Cinnamon 上遇到了同样的问题,但对于其他 Linux 发行版(例如 Ubuntu)可能也有类似问题。

这是因为我使用“软件管理器”安装了 PyCharm Community Edition。乍一看似乎没问题,但由于它是作为扁平化包提供的,因此无法正确访问主机 Linux 资源并与之配合。例如,您无法访问计算机上安装的 Python,也无法从计算机加载共享库。这是 MTDev 和 libmtdev.so.1 错误不可用的根本原因。 我也无法在 PyCharm 之外启动项目,因为 Python venv 指向仅存在于 PyCharm 应用程序虚拟化环境中的 Python 二进制文件。

如果您使用的是“软件管理器”安装的PyCharm,请将其卸载,然后从官方网址下载:

https://www.jetbrains.com/pycharm/download/#section=linux

将下载的文件解压到您喜欢的文件夹中,然后每次要启动 PyCharm 时启动 bin/pycharm.sh。

PyCharm 启动速度更快,并且您在加载 MTDev 共享库时不会出现任何问题。

当然,如果您的计算机上没有 MTDev,那么您也必须安装它:

sudo apt-get install libmtdev-dev

关于python - OSError : libmtdev. so.1:无法打开共享对象文件:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66621518/

相关文章:

python - Django,从表单保存数据而无需手动设置每个字段来保存?

android - 来自 Django/Python 应用程序的智能手机警报

android - 自动滚动以重新定位键盘上方的文本输入

python 基维 : Properly start a background process that updates GUI elements

python - 覆盖文件中的行而不创建 "^M"字符

python - 将值插入日志消息的正确方法

kivy - 如何在 Kivy 中设置屏幕背景图片

android - Kivy 仅针对动态类的第一个实例抛出意外的 'syntax error'

raspberry-pi - 适用于 Raspberry Pi 的触摸屏 Kivy 应用

python - 在OpenCV中将图像序列转换为视频+阅读范围