bin/setup-venv.sh: Python-Umgebung .venv einrichten

- legt .venv an (--upgrade-deps) und installiert requirements.txt,
  überspringt das, wenn .venv schon existiert
- Browser für webscan: Arch -> Hinweis auf System-Chromium,
  sonst Playwright-Chromium installieren
- doc/README.md verweist auf das Skript

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-10-09 09:18:39 +02:00
co-authored by Claude Opus 5.5
parent c884f4fd92
commit 4897883938
2 changed files with 57 additions and 1 deletions
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
# ================================================================
# PICCREATE - Python Virtual Environment einrichten
# ================================================================
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/setenv.sh"
if [ ! -d "$PICCREATE/.venv" ]; then
echo "Initialisiere Python virtual environment..."
python3 -m venv "$PICCREATE/.venv" --upgrade-deps || {
rm -rf "$PICCREATE/.venv"
echo "Fehlgeschlagen. Unter Ubuntu/Debian: sudo apt install python3-venv"
exit 1
}
echo "Erfolgreich."
source "$PICCREATE/.venv/bin/activate"
echo "Installiere erforderliche Python Packages..."
pip install -r "$PICCREATE/requirements.txt" -q || exit 1
echo "Erfolgreich."
deactivate
else
echo "Erforderliche Python Packages bereits installiert!"
fi
# Browser für webscan
# Arch: Playwright unterstützt Arch nicht offiziell -> Chromium der Distribution
if grep -qs '^ID=arch\|^ID_LIKE=.*arch' /etc/os-release; then
if [ -x /usr/bin/chromium ]; then
echo "Browser: /usr/bin/chromium"
echo "Für webscan setzen (z.B. in ~/.bashrc):"
echo " export PICCREATE_BROWSER=/usr/bin/chromium"
else
echo "Chromium fehlt. Bitte installieren:"
echo " sudo pacman -S chromium"
echo " export PICCREATE_BROWSER=/usr/bin/chromium"
fi
elif [ -n "$(ls -d ~/.cache/ms-playwright/chromium* 2>/dev/null)" ]; then
echo "Playwright Browser bereits installiert!"
else
echo "Installiere Playwright Browser..."
"$PICCREATE/.venv/bin/playwright" install chromium || exit 1
echo "Erfolgreich."
echo "Falls der Browser nicht startet (Ubuntu/Debian), Systembibliotheken installieren:"
echo " sudo $PICCREATE/.venv/bin/playwright install-deps chromium"
fi
+10 -1
View File
@@ -151,7 +151,16 @@ einem Browser ohne Fenster und speichert den sichtbaren Bereich als Bild
`<Kundennummer>.jpg`. Die Größe kommt aus der Sektion `[webscan]` der
Konfiguration (in `cfg/webscan.cfg`: 800×500).
Einmalig einrichten (Python-Umgebung im Projektverzeichnis):
Einmalig einrichten mit `bin/setup-venv.sh`: legt die Python-Umgebung `.venv`
im Projektverzeichnis an, installiert `requirements.txt` und kümmert sich um
den Browser (Ubuntu: Playwright-Chromium, Arch: Hinweis auf das Chromium der
Distribution). Ist `.venv` schon vorhanden, wird nichts neu installiert.
```sh
./setup-venv.sh
```
Von Hand geht es so:
```sh
python3 -m venv .venv # Ubuntu: vorher sudo apt install python3-venv