sezanzeb / input-remapper

🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.75k stars 155 forks source link

Can't use Input Remapper with Python 3.12 on EndeavourOS (Arch Linux) #882

Closed daniloraisi closed 5 months ago

daniloraisi commented 5 months ago

Recently, I've upgraded my OS and got Python 3.12 by default.

When trying to use Input Remapper, I receive the error ModuleNotFoundError: No module named 'inputremapper';

The same error happened before on #723.

The error is caused because Input Remapper is installing its python packages under /usr/lib/python3.11/site-packages instead of the current python version.

The result of running find /usr/ -iname "*input*remapper*"

/usr/bin/input-remapper-control
/usr/bin/input-remapper-gtk
/usr/bin/input-remapper-reader-service
/usr/bin/input-remapper-service
/usr/lib/udev/rules.d/99-input-remapper.rules
/usr/lib/systemd/system/input-remapper.service
/usr/lib/python3.11/site-packages/input_remapper-2.0.1-py3.11.egg-info
/usr/lib/python3.11/site-packages/inputremapper
find: ‘/usr/lost+found’: Permission denied
/usr/share/metainfo/io.github.sezanzeb.input_remapper.metainfo.xml
/usr/share/polkit-1/actions/input-remapper.policy
/usr/share/icons/hicolor/scalable/apps/input-remapper.svg
/usr/share/applications/input-remapper-gtk.desktop
/usr/share/input-remapper
/usr/share/input-remapper/input-remapper.policy
/usr/share/input-remapper/lang/zh/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/ru/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/uk_UA/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/ru_RU/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/pt_BR/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/sk_SK/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/fr/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/pt/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/uk/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/fr_FR/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/it_IT/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/it/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/sk/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/lang/zh_CN/LC_MESSAGES/input-remapper.mo
/usr/share/input-remapper/input-remapper.svg
/usr/share/input-remapper/input-remapper-gtk.desktop
/usr/share/input-remapper/io.github.sezanzeb.input_remapper.metainfo.xml
/usr/share/input-remapper/input-remapper.glade
/usr/share/input-remapper/99-input-remapper.rules
/usr/share/input-remapper/inputremapper.Control.conf
/usr/share/input-remapper/input-remapper-autoload.desktop
/usr/share/input-remapper/input-remapper.service
/usr/share/input-remapper/input-remapper-large.png
find: ‘/usr/share/factory/etc/audit/plugins.d’: Permission denied

The result of python3 -c "import sys; print(sys.path)"

['', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/usr/lib/python3.12/site-packages', '/usr/lib/python3.12/site-packages/vboxapi-1.0-py3.12.egg']

The result of sudo input-remapper-gtk -d

Traceback (most recent call last):
  File "/usr/bin/input-remapper-gtk", line 38, in <module>
    from inputremapper.gui.gettext import _, LOCALE_DIR
ModuleNotFoundError: No module named 'inputremapper'

How can I get it back to work using Python 3.12 on Arch?

OfficialRenny commented 5 months ago

Oh, the Python 3.12 update would explain why it broke for me too, was getting the exact same error.

Though fortunately, it seems like uninstalling, clearing my paru cache, then re-installing fixed this for me. Maybe that could work?

daniloraisi commented 5 months ago

Oh, the Python 3.12 update would explain why it broke for me too, was getting the exact same error.

Though fortunately, it seems like uninstalling, clearing my paru cache, then re-installing fixed this for me. Maybe that could work?

That worked! Thanks!

Closing the issue as it is fine now!