openstenoproject / plover_plugins_manager

Plugins manager for Plover
3 stars 7 forks source link

Use pipx to install plugins instead of pip on Linux systems #23

Open Beethoven-n opened 1 year ago

Beethoven-n commented 1 year ago

On Arch Linux, pip has been deprecated for a while now. It's generally not a good idea to use that on Linux systems due to it messing with system packages. instead, pipx is often recommended because it automatically makes a venv to install the package to. Otherwise you get a deprecation error:


/usr/lib/python3.11/site-packages/plover_plugins_manager/pip_wrapper.py:3: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.

    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.

    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.```
Beethoven-n commented 1 year ago

alternatively you could make a venv to install all the packages to

user202729 commented 1 year ago

Interesting, but shouldn't the behavior be something like "install into whatever environment that Plover is already in" instead of another virtual environment?

Beethoven-n commented 11 months ago

you'd need to embed the plugin manager into plover most likely. though, maybe just running pipx will make it work better

Beethoven-n commented 7 months ago

i hope this doesn't count as necroing. is the project even alive anymore, development-wise?

anakojm commented 1 week ago

is there a workaround to still install a plugin without having to disable the externally managed environment?