Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m122:learningunits:lu08:linux_python [2024/12/10 07:43] – angelegt msuter | modul:m122:learningunits:lu08:linux_python [2024/12/10 09:16] (aktuell) – [Skript ausführen] msuter | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| ===== Pfade in WSL ===== | ===== Pfade in WSL ===== | ||
| + | Linux und Windows unterscheiden sich erheblich in der Art und Weise, wie sie mit Ordnerpfaden umgehen. Hier sind die wesentlichen Unterschiede: | ||
| + | |||
| + | ==== Pfad-Trennzeichen ==== | ||
| + | |||
| + | * **Linux:** Verwendet den Schrägstrich ''/'' | ||
| + | - Beispiel: ''/ | ||
| + | * **Windows: | ||
| + | - Beispiel: '' | ||
| + | |||
| + | ==== Gross- und Kleinschreibung ==== | ||
| + | |||
| + | * **Linux:** Unterscheidet zwischen Gros- und Kleinschreibung in Dateinamen und Ordnern. Das bedeutet, dass '' | ||
| + | * **Windows: | ||
| + | |||
| + | ==== Pfadstruktur ==== | ||
| + | |||
| + | * **Linux: | ||
| + | * Es gibt ein einheitliches Wurzelverzeichnis ''/'' | ||
| + | * Alle Laufwerke und Geräte werden unterhalb von ''/'' | ||
| + | * Das Dateisystem folgt einer hierarchischen Struktur mit standardisierten Verzeichnissen wie ''/ | ||
| + | * **Windows: | ||
| + | * Jeder Laufwerksbuchstabe (z. B. '' | ||
| + | * Die Struktur ist nicht einheitlich und hängt von der Konfiguration und Installation ab. | ||
| + | * Benutzerverzeichnisse befinden sich oft unterhalb von '' | ||
| + | |||
| + | ==== Absoluter vs. relativer Pfad ==== | ||
| + | * **Linux:** Ein absoluter Pfad beginnt immer mit ''/'', | ||
| + | * **Windows: | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | In WSL sind die Laufwerke C:, D:, ... unter ''/ | ||
| + | Um auf den Windowsordner '' | ||
| + | </ | ||
| + | |||
| ===== Virtual Environment ===== | ===== Virtual Environment ===== | ||
| + | In den meisten Fällen überlassen wir es unserer IDE, das Virtual Environment zu erstellen und zu aktivieren. | ||
| + | Falls wir unser Programm jedoch auf einem Server ausführen wollen, haben wir nur die Shell zur Verfügung. | ||
| + | In diesem Fall müssen wir uns selber um das '' | ||
| + | |||
| + | ===== Voraussetzung ===== | ||
| + | Für das erste Projekt in WSL muss zunächst '' | ||
| + | |||
| + | ==== Projekt erstellen ==== | ||
| + | Ich gehe davon aus, dass ich einen Ordner mit einem Python-Projekt erstellt habe. | ||
| + | Dieser kann manuell mit '' | ||
| + | Möchte ich ein Projekt von GitHub verwenden, kann ich den Ordner mit '' | ||
| + | |||
| + | < | ||
| + | git clone https:// | ||
| + | </ | ||
| + | Dieser Befehl klont das Projekt von GitHub in den Ordner '' | ||
| + | |||
| + | ==== Virtual Environment erstellen ==== | ||
| + | Wir verwenden das Modul '' | ||
| + | |||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Mit '' | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Je nach Quelle wird der Zielordner '' | ||
| + | Für die Funktionalität macht dies keinen Unterschied. | ||
| + | In meinen Beispielen verwende ich den Ordnernamen '' | ||
| + | </ | ||
| + | |||
| + | ==== Virtual Environment aktivieren ==== | ||
| + | Bevor wir das Pythonprojekt ausführen, sollten wir das Virtual Environment aktiveren. | ||
| + | Dadurch stellen wir sicher, dass alle Änderungen an der Umgebung nur dieses Projekt betreffen und nicht systemweite Änderungen gemacht werden. | ||
| + | |||
| + | <code bash> | ||
| + | source venv/ | ||
| + | </ | ||
| + | Anhand des Eingabeprompts erkennen wir, dass das Virtual Environment aktiviert ist: | ||
| + | < | ||
| + | (venv) user@system: | ||
| + | </ | ||
| + | |||
| + | Um das Virtual Environment zu deaktivieren, | ||
| + | |||
| + | ==== Abhängigkeiten installieren ==== | ||
| + | In der Regel hat jedes Pythonprojekt eine Datei '' | ||
| + | Dies erleichtert die Installation der Pakete, wenn wir das Projekt von GitHub klonen. | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Installiere die Pakete immer in ein aktiviertes Virtual Environment. | ||
| + | Andernfalls würden die Pakete systemweit installiert, | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | (venv) user@system: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Skript ausführen ==== | ||
| + | Nun können wir unsere Pythonskripte ausführen: | ||
| + | |||
| + | <code bash> | ||
| + | (venv) user@system: | ||
| + | </ | ||
| + | |||
| ---- | ---- | ||
| {{tag> | {{tag> | ||
| [[https:// | [[https:// | ||