====== 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
++++