xavierog / moulti

Moulti is a CLI-driven Terminal User Interface (TUI) displaying arbitrary outputs inside visual, collapsible blocks called steps.
MIT License
119 stars 5 forks source link

Debian 12 - Pip issue #1

Closed nerkdesign closed 8 months ago

nerkdesign commented 8 months ago

Hello,

Amazing job ! But since Debian 12, you can't use pip directly anymore, you should specify to create a venv to be able to run. Or maybe to install the debian equivalent packages.

xavierog commented 8 months ago

Hi!

Amazing job !

Thank you -- feel free to share how you leverage Moulti, I am very curious about it.

since Debian 12, you can't use pip directly anymore, you should specify to create a venv

Correct; that is why the Moulti documentation suggests to install Moulti through pipx, provided by the pipx Debian package:

$ cat /etc/debian_version
12.4
$ apt show pipx
Package: pipx
Version: 1.1.0-1
Priority: optional
Section: python
Source: python-pipx
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Installed-Size: 935 kB
Depends: python3-venv, python3-argcomplete, python3-importlib-metadata | python3 (>> 3.8), python3-packaging, python3-userpath, python3:any
Recommends: fonts-font-awesome (>= 5.0.10+really4.7.0~dfsg-4.1), libjs-bootstrap4 (>= 4.6.1+dfsg1-4), libjs-highlight.js, libjs-jquery (>= 3.6.1+dfsg+~3.5.14-1), libjs-lunr (>= 2.3.9~dfsg-2), mkdocs (>= 1.4.2+dfsg-2)
Homepage: https://github.com/pypa/pipx
Download-Size: 393 kB
APT-Sources: http://deb.debian.org/debian bookworm/main arm64 Packages
Description: execute binaries from Python packages in isolated environments
 pipx allows you to...
 .
  * Run the latest version of a CLI application from a package
    in a temporary virtual environment,
    leaving your system untouched after it finishes.
  * Install packages to isolated virtual environments,
    while globally exposing their CLI applications
    so you can run them from anywhere.
  * Easily list, upgrade, and uninstall packages
    that were installed with pipx.
 .
 pipx runs with regular user permissions,
 never calling "sudo pip install".

Essentially, pipx takes care of spawning a dedicated venv under ~/.local/pipx/venvs before calling pip. It also provides an ensurepath command to alter your $PATH so the executable files it installs are available on the command-line without having to activate a virtualenv manually.

Edit: system-wide installation with pipx is also possible: see https://github.com/pypa/pipx/issues/754#issuecomment-1871660321

Does that answer your concern?