3.0 KiB
3.0 KiB
Python Bootstrap-Template mit .venv
und .env
Support
Dieses Projekt bietet ein portables Start-Template für Python-Anwendungen mit folgenden Features:
- Automatische Erstellung einer virtuellen Umgebung (
.venv
) - Automatische Installation von Abhängigkeiten aus
requirements.txt
- Automatischer Neustart in der virtuellen Umgebung
- Unterstützung von Umgebungsvariablen über eine
.env
-Datei - Sauberer Einstiegspunkt über
run.py
- Keine systemweiten Python-Pakete notwendig
🔧 Projektstruktur
template-root/
├── .env # Projektkonfiguration (optional, wird automatisch geladen)
├── requirements.txt # Abhängigkeiten (z. B. python-dotenv)
├── run.py # Einstiegspunkt für die Anwendung
└── app/
├── __init__.py
├── main.py # Hauptlogik der Anwendung
└── bootstrap.py # Setup- und Relaunch-Logik
🚀 Erste Schritte
python run.py
Beim ersten Start passiert:
.venv
wird erstellt (wenn noch nicht vorhanden)requirements.txt
wird installiert- Das Skript wird automatisch innerhalb der venv neu gestartet
.env
wird geladen (falls vorhanden)- Die App startet
📦 Abhängigkeiten
Alle Abhängigkeiten werden aus requirements.txt
installiert. Beispiel:
python-dotenv
⚙️ .env-Datei (optional)
Wenn vorhanden, wird .env
automatisch geladen. Beispiel:
APP_MODE=development
LOGLEVEL=debug
PORT=8080
Diese Werte sind im Code über os.getenv("APP_MODE")
verfügbar.
📜 Beispielausgabe
[BOOTSTRAP] Erstelle virtuelle Umgebung...
[BOOTSTRAP] Installiere pip + requirements.txt...
[BOOTSTRAP] Starte in virtueller Umgebung neu...
[RUN] Lade .env aus: ./cliqrcode/.env
[APP] Starte Anwendung im Modus: development
[APP] Hello, world!
🧼 Optional: .env.example
Erstelle eine .env.example
, um deine Konfiguration zu dokumentieren:
APP_MODE=production
PORT=8000
LOGLEVEL=info
🛠 Hinweise
- Das Template ist portabel und benötigt keine global installierten Pakete.
- Du kannst es für jede neue App wiederverwenden.
run.py
ist der einzige Einstiegspunkt – keine direkten Aufrufe vonmain.py
.
🧪 Getestet mit
- Python 3.11, 3.12, 3.13
- Windows & Linux
- VS Code, Terminal, PowerShell
📁 Lizenz
MIT – frei verwendbar in eigenen Projekten.