Python 3.9 & Django in VSCode: Einrichten der virtuellen Umgebung und des Interpreters

Melden

Dieses Tutorial führt dich Schritt für Schritt durch die saubere Einrichtung eines Django-Projekts mit Python 3.9 in Visual Studio Code (VSCode). Der Fokus liegt darauf, eine isolierte virtuelle Umgebung (venv) zu erstellen und diese korrekt als Interpreter in VSCode zu hinterlegen.


Voraussetzungen

Bevor du beginnst, stelle sicher, dass Folgendes auf deinem System installiert ist:

  1. **Python 3.9.*** (Überprüfe dies im Terminal mit python --version oder py -3.9 --version).
  2. Visual Studio Code.
  3. VSCode Python-Erweiterung (von Microsoft – direkt im VSCode-Extension-Marketplace zu finden).

Schritt 1: Projektordner erstellen und in VSCode öffnen

  1. Erstelle einen neuen Ordner auf deinem Computer für dein Projekt (z. B. django-projekt).
  2. Öffne diesen Ordner in VSCode:
    • Menü: Datei > Ordner öffnen... (oder via Terminal mit cd pfad/zu/django-projekt und anschließend code .).

Schritt 2: Virtuelle Umgebung (venv) mit Python 3.9 erstellen

Um Versionskonflikte mit anderen Projekten zu vermeiden, isolieren wir die Abhängigkeiten.

  1. Öffne das integrierte Terminal in VSCode:
    Tastenkombination: Strg + Ö (bzw. Strg + `) oder über das Menü Terminal > Neues Terminal.

  2. Erstelle die virtuelle Umgebung mit expliziter Angabe von Python 3.9:

    • Windows:
      py -3.9 -m venv .venv
    • macOS / Linux:
      python3.9 -m venv .venv

Hinweis: Der Ordner .venv wird nun in deiner VSCode-Dateileiste angezeigt.


Schritt 3: Python-Interpreter in VSCode festlegen

VSCode muss wissen, dass es Python 3.9 aus genau dieser neuen Umgebung nutzen soll.

  1. Drücke Strg + Umschalt + P (macOS: Cmd + Shift + P), um die Befehlspalette zu öffnen.
  2. Tippe Folgendes ein und wähle es aus:
    Python: Select Interpreter (Python: Interpreter auswählen).
  3. Es erscheint eine Liste der gefundenen Python-Versionen.
  4. Wähle den Interpreter aus, der mit ('.venv': venv) gekennzeichnet ist (oft empfohlen mit dem Pfad ./.venv/Scripts/python.exe unter Windows bzw. ./.venv/bin/python unter macOS/Linux).
  5. Sollte er nicht angezeigt werden, klicke auf Enter interpreter path... (Interpreter-Pfad eingeben) und navigiere manuell zur Python-Datei in deinem .venv-Ordner.

Schritt 4: Virtuelle Umgebung im Terminal aktivieren

  1. Schließe das aktuelle Terminal in VSCode (Mülleimer-Symbol im Terminal-Fenster).
  2. Öffne über Terminal > Neues Terminal ein neues Terminal.
  3. VSCode sollte die Umgebung jetzt automatisch aktivieren. Du erkennst es daran, dass vor deiner Eingabezeile ein Präfix steht:
    (.venv) PS C:\Pfad\zu\django-projekt>
  4. Falls es nicht automatisch aktiviert wird, starte es manuell:
    • Windows (PowerShell): .\.venv\Scripts\Activate.ps1
    • Windows (CMD): .\.venv\Scripts\activate.bat
    • macOS / Linux: source .venv/bin/activate

Schritt 5: Django installieren

Nachdem die Umgebung aktiviert ist (.venv ist im Terminal sichtbar), installierst du Django.

  1. Aktualisiere optional zuerst pip:
    python -m pip install --upgrade pip
  2. Installiere Django:
    pip install django
  3. Überprüfe die Installation:
    python -m django --version

Schritt 6: Django-Projekt initialisieren und testen

  1. Erstelle ein neues Django-Projekt (der Punkt . am Ende sorgt dafür, dass das Projekt im aktuellen Ordner erstellt wird, ohne einen zusätzlichen Unterordner anzulegen):

    django-admin startproject meinprojekt .
  2. Führe die Standard-Datenbankmigrationen durch:

    python manage.py migrate
  3. Starte den lokalen Entwicklungsserver:

    python manage.py runserver
  4. Öffne deinen Browser und rufe folgende URL auf:
    http://127.0.0.1:8000/

Wenn du die Raketen-Grafik von Django mit dem Text "The install worked successfully! Congratulations!" siehst, ist dein Setup vollständig und einsatzbereit.


Tipp: .gitignore anlegen

Vergiss nicht, eine Datei namens .gitignore im Hauptverzeichnis anzulegen, damit die virtuelle Umgebung und die SQLite-Datenbank nicht versehentlich in Git landen:

.venv/
*.pyc
__pycache__/
db.sqlite3
0