venv
Die Paketliste am System muss klein bleiben.
Python Pakete werden also immer in ein venvinstalliert.
Daraus den Interpreter nutzen, dann sind die Abhängigkeiten dabei.
Build Script
Das Script /usr/venv/build.sh gebastelt:
#!/usr/bin/env sh
NAME="$1"; shift
[ -z "$NAME" ] && {
echo "name required"
exit 1
}
python3 -m venv /usr/venv/$NAME || exit 1
/usr/venv/$NAME/bin/pip3 install -U pip || exit 1
[ -n "$*" ] && {
/usr/venv/$NAME/bin/pip3 install "$@" || exit 1
}
exit 0
Setup
Installieren wird zum Kinderspiel – z.B. tarsnapper ist so ein Kandidat
(Artikel alter Host).
Dafür reicht:
/usr/venv/build.sh tarsnapper tarsnapper
Updates werden so eine Sache, man muss sich an die Dependencies erinnern…
Deshalb:
printf 'tarsnapper\n' > /usr/venv/requirements-tarsnapper.txt
/usr/venv/build.sh tarsnapper -r /usr/venv/requirements-tarsnapper.txt
Das Kommando liegt im bin Order vom venv:
/usr/venv/tarsnapper/bin/tarsnapper --help
last update 4174af1 • 2025-02-07 14:36:29 +0100