npm (Node Package Manager) und pip sind die Paketverwaltungen der beiden populärsten Programmier-Ökosysteme: npm für JavaScript/Node.js, pip für Python. Beide installieren fertige Bibliotheken, verwalten Abhängigkeiten und halten Projekte reproduzierbar.

npm: JavaScript-Bibliotheken installieren

npm init -y
npm install express

npm init erzeugt die package.json (Projektbeschreibung + Abhängigkeiten). npm install <paket> lädt das Paket in node_modules und trägt es in die package.json ein.

  • npm install — installiert alle in package.json gelisteten Abhängigkeiten (im frisch geklonten Projekt)
  • npm install -g <paket> — global installieren (z.B. CLI-Werkzeuge)
  • npm uninstall <paket> — Paket entfernen
  • npm run <skript> — Skript aus package.json ausführen (z.B. npm run dev)
  • npm audit — Sicherheitslücken in Abhängigkeiten melden

pip: Python-Bibliotheken installieren

pip install requests
pip install -r requirements.txt

Die requirements.txt listet alle Abhängigkeiten eines Python-Projekts — mit pip install -r werden sie komplett installiert. Das Gegenstück zu package.json.

  • pip install --upgrade <paket> — Paket aktualisieren
  • pip uninstall <paket> — Paket entfernen
  • pip freeze — alle installierten Pakete mit Versionsnummern anzeigen
  • pip list — installierte Pakete auflisten
  • pip show <paket> — Details zu einem Paket (Version, Abhängigkeiten, Homepage)

Virtuelle Umgebungen: Der saubere Weg in Python

python3 -m venv .venv
source .venv/bin/activate

Pip installiert standardmäßig systemweit — auf modernen Systemen (PEP 668) oft blockiert. Eine virtuelle Umgebung kapselt die Pakete pro Projekt: python3 -m venv .venv anlegen, dann aktivieren. Node.js löst dasselbe Problem projektlokal mit node_modules und package-lock.json (exakte Versionen).

Praxis-Tipp

Immer die Lock-Dateien versionieren (package-lock.json, alternativ pip freeze > requirements.txt), damit alle Teammitglieder exakt dieselben Versionen bekommen. Vor dem Deployment npm audit bzw. pip list --outdated laufen lassen.

Verwandte Grundlagen: git: Versionierung und Teamarbeit und YAML, TOML und JSON.