Python-Projekt anlegen & virtuelle Umgebung

Python-Projekt anlegen & virtuelle Umgebung

Was du lernst

In diesem Dokument wird dir erklärt, wie du ein Projekt am besten anlegst. Du lernst, wie du eine sogenannte virtuelle Umgebung erstellst, in der du arbeiten kannst, ohne dein eigentliches Betriebssystem zu beeinflussen.

Python installieren

Falls du diese Übungen zuhause beginnst, stelle zunächst sicher, dass du Python installiert hast. Folge diesem Tutorial:

Wenn du Python installiert hast, geht es in VS-Code weiter.

Virtuelle Umgebungen für Python-Programme

Python ist bei manchen Systemen (Mac/Linux) vorinstalliert, auf Windows musst du Python herunterladen und installieren (wie bei vielen anderen Anwendungen und Apps).

Vorbereitung eines neuen Python-Projekts

Stelle sicher, dass du die Terminal-Grundlagen beherrschst, bevor du fortfährst.

Projekt-Ordner anlegen

Öffne den Editor oder die IDE deiner Wahl, empfehlenswert ist VS-Code (Visual Studio Code). Lege dort einen Projekt-Ordner an und öffne ein Terminal.

venv erstellen

Wir legen nun eine virtuelle Umgebung an, damit du nichts an der ggf. systemweiten Python-Installation ändern musst.

Gut zu wissen

In einer virtuellen Python-Umgebung (venv, für virtual environment) kannst du weitere Python-Pakete installieren, das können einfache oder umfangreiche Programme sein. Die venv ist nicht nur von deinem Host-System (also Hauptsystem) isoliert, sondern kann leicht verändert und transportiert werden, das ist sehr praktisch! Alles dafür Notwendige liegt dann im venv-Ordner. Wir arbeiten dabei mit pip (dem package installer for Python), womit Programme aus dem Python Package Index installiert werden.

Gib im Terminal folgenden Befehl ein, um eine virtuelle Umgebung zu erstellen.

1
2
# python3 -m venv /pfad/zur/venv
python3 -m venv venv 

Damit wird ein versteckter Ordner auf Root-Ebene (de. Stamm- oder Wurzelverzeichnis) erstellt, d.h. auf der höchsten Ebene deines Projektordners. Um die venv zu aktivieren, gib folgendes ein:

1
. venv/bin/activate

In der Befehlzeile erscheint dann (venv) vor dem Prompt, z.B. (venv) user@host:~$. Dies zeigt an, dass die virtuelle Umgebung aktiv ist.

requirements.txt

Erstelle im Stammverzeichnis eine Datei requirements.txt. Darin kannst du auf einfache Weise alle Python-Pakete auflisten, die dann mit einem einfachen Befehl in die venv installiert werden.

In der Datei könnte bspw. das hier stehen:

1
Flask >= 3.1

Wenn du dann das hier ausführst:

1
pip3 install -r requirements.txt

, sieht die Ausgabe ungefähr so aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
(venv) ➜  Flask_Tutorial pip3 install -r requirements.txt  
Collecting Flask>=3.1 (from -r requirements.txt (line 1))
  Using cached flask-3.1.2-py3-none-any.whl (103 kB)
Collecting blinker>=1.9.0 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached blinker-1.9.0-py3-none-any.whl (8.5 kB)
Collecting click>=8.1.3 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached click-8.3.1-py3-none-any.whl (108 kB)
Collecting itsdangerous>=2.2.0 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Collecting jinja2>=3.1.2 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Collecting markupsafe>=2.1.1 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl (12 kB)
Collecting werkzeug>=3.1.0 (from Flask>=3.1->-r requirements.txt (line 1))
  Using cached werkzeug-3.1.4-py3-none-any.whl (224 kB)
Installing collected packages: markupsafe, itsdangerous, click, blinker, werkzeug, jinja2, Flask
Successfully installed Flask-3.1.2 blinker-1.9.0 click-8.3.1 itsdangerous-2.2.0 jinja2-3.1.6 markupsafe-3.0.3 werkzeug-3.1.4

[notice] A new release of pip is available: 23.1.2 -> 25.3
[notice] To update, run: pip install --upgrade pip

Du siehst also, dass du damit Flask installierst und alle weiteren Abhängigkeiten, sog. dependencies, auf die wiederum Flask aufbaut.

Gut zu wissen

Du kannst in der requirements.txt ganz genau bestimmen, welche Version installiert wird. Wir haben oben also sichergestellt, dass wir mind. die Version 3.1 von Flask installieren.

SyntaxBedeutung
Flask==3.1.0Exakt 3.1.0
Flask~=3.1.0Kompatibel mit 3.1.0 (≥3.1.0 und <3.2.0)
Flask>=3.1.0,<3.2.0Das gleiche, explizit formuliert
Flask>=3.13.1.0 oder neuer (auch 4.0 etc.)

Eine Liste aller installierten Pakete sichern

Du kannst mit diesem Befehl alle aktuell in die venv installierten Pakete in die Datei schreiben.

1
pip3 freeze > requirements.txt

In diesem Fall sieht der Inhalt der Datei dann so aus:

1
2
3
4
5
6
7
blinker==1.9.0
click==8.3.1
Flask==3.1.2
itsdangerous==2.2.0
Jinja2==3.1.6
MarkupSafe==3.0.3
Werkzeug==3.1.4

Es werden die exakten Versionen der Pakete angegeben. Das ist gut, um die gleiche Umgebung zu erzeugen, wenn du das Projekt teilst oder an anderer Stelle weiterarbeiten möchtest. Für dich heißt das konkret, du machst diesen Schritt immer dann, wenn du zwischendurch bspw. an deinem Heimrechner gearbeitet hast und dann in der Schule weitermachen möchtest.

Zuletzt aktualisiert am