-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsietovy-asistent
More file actions
executable file
·54 lines (44 loc) · 1.48 KB
/
sietovy-asistent
File metadata and controls
executable file
·54 lines (44 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VENV_DIR="$SCRIPT_DIR/.venv"
PYTHON_BIN="$VENV_DIR/bin/python"
recreate_venv() {
echo "Obnovujem virtualne prostredie (.venv)..."
rm -rf "$VENV_DIR"
python3 -m venv "$VENV_DIR"
}
check_tkinter() {
if ! "$PYTHON_BIN" -c "import tkinter" >/dev/null 2>&1; then
echo "Chyba: modul tkinter nie je dostupny v systeme."
echo ""
echo "Nainstaluj Tkinter podla tvojej distribucie:"
echo "- Debian/Ubuntu: sudo apt update && sudo apt install python3-tk"
echo "- Fedora/RHEL: sudo dnf install python3-tkinter"
echo "- Arch: sudo pacman -S tk"
exit 1
fi
}
if ! command -v python3 >/dev/null 2>&1; then
echo "Chyba: python3 nie je nainstalovany."
exit 1
fi
if [ ! -d "$VENV_DIR" ]; then
echo "Vytvaram virtualne prostredie..."
python3 -m venv "$VENV_DIR"
fi
if [ ! -x "$PYTHON_BIN" ]; then
echo "Chyba: nepodarilo sa vytvorit virtualne prostredie v $VENV_DIR"
exit 1
fi
# Ak sa projekt presunul/premenoval, venv entrypointy mozu byt neplatne.
# Kontrola importu pip odhali poskodene prostredie a skript ho automaticky obnovi.
if ! "$PYTHON_BIN" -c "import pip" >/dev/null 2>&1; then
recreate_venv
fi
echo "Instalujem/aktualizujem zavislosti..."
"$PYTHON_BIN" -m pip install --upgrade pip >/dev/null
"$PYTHON_BIN" -m pip install -r "$SCRIPT_DIR/requirements.txt"
check_tkinter
echo "Spustam Sietovy Asistent..."
exec "$PYTHON_BIN" "$SCRIPT_DIR/python/main.py"