Skip to content

Missing modules when running as root #5

Description

@chambln

I can install and run xkalamine just fine as my regular user.

$ git clone https://github.com/qwerty-fr/kalamine
$ cd kalamine
$ poetry install
$ poetry run xkalamine
Usage: xkalamine [OPTIONS] COMMAND [ARGS]...
...

But then as root, the installed modules are not available.

# poetry run xkalamine
Traceback (most recent call last):                                                   
  File "<string>", line 1, in <module>                                               
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module       
    return _bootstrap._gcd_import(name[level:], package, level)                      
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import                    
  ...
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed       
  File "/home/greg/src/kalamine/kalamine/__init__.py", line 2, in <module>                 
    from .layout import KeyboardLayout                                               
  File "/home/greg/src/kalamine/kalamine/layout.py", line 10, in <module>                  
    import yaml                                                                      
ModuleNotFoundError: No module named 'yaml'

The only way I can get layouts installed properly is by installing the dependencies as root using poetry

# poetry install
# poetry run xkalamine
Usage: xkalamine [OPTIONS] COMMAND [ARGS]...
...

which is not ideal. Root permissions are only really needed in order to modify the system's keyboard layout files, right? Maybe it's better to produce a diff which the user can then apply by running patch(1) as root, or produce a complete symbols file which can be installed using cp(1) or whatever as root.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions