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

[Docs] Recommend pipx in the documentation #105

Open
gbg4812 opened this issue Mar 9, 2024 · 2 comments · May be fixed by #116
Open

[Docs] Recommend pipx in the documentation #105

gbg4812 opened this issue Mar 9, 2024 · 2 comments · May be fixed by #116
Labels
documentation Improvements or additions to documentation

Comments

@gbg4812
Copy link

gbg4812 commented Mar 9, 2024

When trying to install konsave with pip like described in the README it doesn't work and the next message is fired:

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

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

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

    See /usr/share/doc/python3.11/README.venv for more information.

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.

The solution is to use pipx (as stated in PEP668 ) or create manually a virtual environment witch my not be trivial for non-python users.

So I think it would be good to recommend pipx in the documentation for installation.

@Prayag2
Copy link
Owner

Prayag2 commented May 18, 2024

Good idea. I'll do that soon.

@Prayag2 Prayag2 changed the title Recommend pipx in the documentation [Docs] Recommend pipx in the documentation May 18, 2024
@Prayag2 Prayag2 added the documentation Improvements or additions to documentation label May 18, 2024
@paidhi
Copy link

paidhi commented Jun 9, 2024

I use pipx a lot with Linux distributions that do not provide packages (or only very outdated versions) for Python-based utilities (e.g. konsave, pyinfra, hatch, borgmatic).

On Linux distributions with very recent default Python (>= 3.12) the following error will occur if installing via pipx:

Traceback (most recent call last):
  File "/home/mb/.local/bin/konsave", line 5, in <module>
    from konsave.__main__ import main
  File "/home/mb/.local/share/pipx/venvs/konsave/lib64/python3.12/site-packages/konsave/__init__.py", line 3, in <module>
    from pkg_resources import get_distribution, DistributionNotFound
ModuleNotFoundError: No module named 'pkg_resources'

A workaround is to add the setuptools package to the pipx environment:

pipx install konsave
pipx inject konsave setuptools

The reason for the error is that Python 3.12 has removed the distutils package. It was deprecated since Python 3.10.
See: https://docs.python.org/3/whatsnew/3.12.html#distutils

@holocronweaver holocronweaver linked a pull request Oct 11, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants