Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dumpkeys tries to run during pip install on linux #563

Closed
Avasam opened this issue Jul 27, 2022 · 0 comments · Fixed by #568
Closed

dumpkeys tries to run during pip install on linux #563

Avasam opened this issue Jul 27, 2022 · 0 comments · Fixed by #568

Comments

@Avasam
Copy link
Contributor

Avasam commented Jul 27, 2022

dumpkeys tries to run when doing pip install git+https://github.com/boppreh/keyboard.git#egg=keyboard
This leads to issues with github actions since I cannot add the running user to the input and tty groups (group changes are not affected until the user session is restarted).

I cannot sudo pip install either because that breaks Pyright's ability to find modules and Pyinstaller's module collection. As the warning WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv hints at.

https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:16

Collecting keyboard
  Cloning https://github.com/boppreh/keyboard.git to /tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3325
  Running command git clone --filter=blob:none --quiet https://github.com/boppreh/keyboard.git /tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e14[18](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:19)abd2f2b0ad60b3325
  Resolved https://github.com/boppreh/keyboard.git to commit 8ea01e14fc823bae07[20](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:21)b9989afed3f6b966c697
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]
      /tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3325/keyboard/_nixkeyboard.py:1[22](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:23): UserWarning: Failed to create a device file using `uinput` module. Sending of events may be limited or unavailable depending on plugged-in devices.
        device = aggregate_devices('kbd')
      Couldn't get a file descriptor referring to the console.
      Traceback (most recent call last):
        File "/tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3325/keyboard/_nixkeyboard.py", line 73, in build_tables
          dump = check_output(['dumpkeys', '--keys-only'], universal_newlines=True)
        File "/opt/hostedtoolcache/Python/3.10.5/x64/lib/python3.10/subprocess.py", line 420, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
        File "/opt/hostedtoolcache/Python/3.10.5/x64/lib/python3.10/subprocess.py", line 5[24](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:25), in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['dumpkeys', '--keys-only']' returned non-zero exit status 1.
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b33[25](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:26)/setup.py", line 7, in <module>
          import keyboard
        File "/tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3325/keyboard/__init__.py", line 241, in <module>
          _os_keyboard.init()
        File "/tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3325/keyboard/_nixkeyboard.py", line 1[26](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:27), in init
          build_tables()
        File "/tmp/pip-install-h8ccibra/keyboard_7f4dd7e9b5e1418abd2f2b0ad60b3[32](https://github.com/Toufool/Auto-Split/runs/7545894064?check_suite_focus=true#step:6:33)5/keyboard/_nixkeyboard.py", line 76, in build_tables
Error:           raise ValueError('Failed to run dumpkeys to get key names. Check if your user is part of the "tty" group, and if not, add it with "sudo usermod -a -G tty USER".')
      ValueError: Failed to run dumpkeys to get key names. Check if your user is part of the "tty" group, and if not, add it with "sudo usermod -a -G tty USER".
      # ERROR: Failed to read device '/dev/input/event0'. You must be in the 'input' group to access global events. Use 'sudo usermod -a -G input USERNAME' to add user to the required group.
      # ERROR: Failed to read device '/dev/input/event1'. You must be in the 'input' group to access global events. Use 'sudo usermod -a -G input USERNAME' to add user to the required group.
      # ERROR: Failed to read device '/dev/input/event2'. You must be in the 'input' group to access global events. Use 'sudo usermod -a -G input USERNAME' to add user to the required group.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant