Wer Arch Linux (oder eine Variante) nutzt, verwendet zum Installieren in der Regel die Pakete der Distribution oder - sofern man sich der Risiken bewusst ist - auch vertrauenswürdige Pakete aus dem AUR Repo. Python ist in der Regel aus dem Repo vorinstalliert. Und es bietet sich ja eigentlich auch an, Xonsh ebenfalls so zu installieren...
View article
View summary
Wer Arch Linux (oder eine Variante) nutzt, verwendet zum Installieren in der Regel die Pakete der Distribution oder - sofern man sich der Risiken bewusst ist - auch vertrauenswürdige Pakete aus dem AUR Repo.
Python ist in der Regel aus dem Repo vorinstalliert. Und es bietet sich ja eigentlich auch an, Xonsh ebenfalls so zu installieren.
Funktioniert auch prima.
Aber spätestens an dem Punkt, an welchem man Xontribs (also Xonsh-Erweiterungen) installieren möchte, ist Schluss mit Lustig.
Xontribs installiert man nämlich mittels
xpip install <paketname>
Und hier fängt Arch dann an, zu "bocken":
× 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.
Mit der Installation von Python übernimmt nämlich das Betriebssystem das Ruder, was die Verwaltung von Paketen betrifft. Systemweit kann man mit
nichts mehr einfach so installieren. Man kann Pakete nur mit pipx in einer virtuellen Umgebung für den Nutzer installieren. Sie stehen dann ganz normal für den Nutzer zur Verfügung, aber nicht systemweit.
Der Versuch, Xontribs nun einfach mit pipx zu installieren, scheitert aber leider auch.
Ich habe zunächst keine Lösung gefunden und in den Community-Bereichen von Xonsh geragt, was ich nun tun kann. Letztlich bin ich aber doch selbst auf die Lösung gekommen.
Weil ich Xonsh ohnehin nur für meinen Nutzeraccount verwenden möchte, bot es sich an, das Xonsh-Paket zu deinstallieren und Xonsh ganz normal mit
pipx install Xonsh
für den Nutzer in einer eigenen Umgebung aufzusetzen.
Und damit klappt dann auch die Installation von Xontribs ganz so, wie es vorgesehen ist.