Ich will mehrere Programme installieren, welche es nur als python package gibt. Es wird immer in den Dokumentationen gesagt, dass ich dafuer pip nutzen soll(also zur Installation), aber bei mir wird immer angezeigt, dass es den command pip nicht gibt. Kennt da jemand eine moeglichst einfache Loesung fuer das Problem?
Wie nutze ich pip?
pip bekommst du durch das Paket python-pip
. Aber vermutlich findest du die meisten Programme eh im AUR.
Aipathon Kennt da jemand eine moeglichst einfache Loesung fuer das Problem?
Ein Pip-Tutorial lesen.
Tipp: niemals in Versuchung kommen, ein Package via sudo pip
o.ä. zu installieren. Da wirst du früher oder später Probleme bei einem pacman-Update bekommen. Stattdessen entweder pip install --user
oder innerhalb eines Virtual Environments installieren. Manchmal gibt es das benötigte Package auch im AUR.
- Bearbeitet
Leider bricht ein pip install --user
mit einem Hinweis ab:
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.
Es bleibt also bei der Nutzung von "venv" (oder "pipx") ...
Man kann durchaus auch heute noch mittels ›pip install --break-system-packages […]‹ als User installieren.
Ich hab allerdings gefunden, dass der Weg über ein Virtual Environment im Grunde nur Vorteile bietet. Wenn man das „alte“ Verhalten nachbilden möchte, kann man ein venv anlegen, und das beim Login des Users beispielsweise in der ~/.[shell]rc aktivieren lassen: Dann verhält’s sich dem User gegenüber wie früher™, und man kann einfach via ›pip install […]‹ Sachen installieren.