====== Python ENV ====== [[python| ☚ zurück]] //Ein **Python-Environment** (**virtuelle Umgebung**) dient dazu, Projekte voneinander zu trennen. Abhängigkeiten und Bibliotheken werden projektbezogen installiert, ohne das globale System zu verändern. Dadurch lassen sich unterschiedliche Projekte mit verschiedenen Paketversionen parallel betreiben und reproduzierbar aufsetzen. \\ **Dies ist stabiler und professioneller als ohne Umgebung zu arbeiten, da durch Fehlkonfigurationen eventuell das Python-System unbrauchbar gemacht werden könnte.**// {{ :raspberry_pi:python_env.png?450 |}} ===== Überblick ===== * Voraussetzungen * Umgebung (Environment) anlegen * Environment managen ===== Details ===== ==== Voraussetzungen ==== sudo apt update sudo apt install -y python3 python3-pip python3-venv ---- ==== Umgebung (Environment) anlegen ==== Um eine Umgebung zu erstellen, wird innerhalb eines Projektordners (hier beispielsweise: ''mein_projekt'') folgender Befehl eingegeben: mkdir -p ~/devel/projects/mein_projekt # Projektordner anlegen cd ~/devel/projects/mein_projekt # in das Projekt wechseln python3 -m venv mein_projekt_env # Environment anlegen ==== Environment managen ==== Nach dem Anlegen einer Umgebung muss diese aktiviert werden, um benutzt werden zu können (dies erkennt man am Prompt). Wichtig ist außerdem, dass beim Aktivieren der korrekte Pfad zur Umgebung angegeben werden muss, während das Deaktivieren unabhängig vom aktuellen Verzeichnis funktioniert. === Environment aktivieren === # Pfad zur venv angeben source ~/devel/projects/mein_projekt/mein_projekt_env/bin/activate === Environment deaktivieren === deactivate # funktioniert aus jedem Verzeichnis === Environment löschen === Zum Löschen reicht es, den Ordner der Umgebung zu entfernen. rm -rf ~/devel/projects/mein_projekt/mein_projekt_env ===== Anhang ===== ++++ ENV | # [python env] ## env anlegen cd ~/devel/projects/mein_projekt # in den Projektordner wechseln python3 -m venv mein_projekt_env # venv erstellen ## aktivieren - absolute Pfadangabe zur venv source ~/devel/projects/mein_projekt/mein_projekt_env/bin/activate ## deaktivieren deactivate # venv verlassen ## löschen cd ~/devel/projects/mein_projekt # in den Projektordner wechseln rm -rf mein_projekt_env # venv-Ordner entfernen ++++ ++++ Verwendete Pakete | (course_env) pi@raspi88:~ $ pip list --not-required | grep -v pip Package Version ---------- ------- fastapi 0.129.0 matplotlib 3.10.8 RPi.GPIO 0.7.1 uvicorn 0.41.0 (course_env) pi@raspi88:~ $ pip install fastapi pip install matplotlib pip install RPi.GPIO pip install uvicorn ++++