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

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

Open
Beethoven-n opened this issue Nov 5, 2023 · 4 comments
Open

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

Beethoven-n opened this issue Nov 5, 2023 · 4 comments

Comments

@Beethoven-n
Copy link

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
Copy link
Author

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

@user202729
Copy link
Member

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
Copy link
Author

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

@Beethoven-n
Copy link
Author

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

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

No branches or pull requests

2 participants