HOWTO · Python

Fehler: Der Befehl `cl.exe` ist fehlgeschlagen – Datei oder Verzeichnis nicht gefunden (Windows)

In diesem Tutorial lernen Sie, den Befehl `cl.exe` zu reparieren, der fehlgeschlagen ist: Keine solche Datei oder kein solches Verzeichnis in Windows.

Auf dieser Seite

Wenn pip unter Windows error: command 'cl.exe' failed: no such file or directory meldet, wird ein Paket meist aus dem Quellcode gebaut, und der Build-Prozess findet den C/C++-Compiler von Microsoft nicht. Installieren Sie die C++-Tools, falls sie fehlen, und führen Sie pip anschließend in einer Visual-Studio-Entwicklereingabeaufforderung aus, die den Compiler für diese Sitzung konfiguriert. Für manche Pakete gibt es ein vorgefertigtes Wheel für Ihre Python-Version; sie lassen sich möglicherweise auch ohne lokalen Compiler installieren.

Warum pip meldet, dass cl.exe fehlt

pip installiert ein Wheel, wenn ein kompatibles, vorgefertigtes Paket verfügbar ist. Andernfalls kann es das Paket aus dem Quellcode bauen. Pakete mit nativen Komponenten, darunter manche Python-Bindings, benötigen dafür einen C- oder C++-Compiler. Unter Windows verwendet Microsoft Visual C++ die Compiler-Programmdatei cl.exe.

Die Meldung bedeutet, dass der Build-Befehl cl.exe starten wollte, die Datei aber in der aktuellen Umgebung nicht finden konnte. Entweder sind die Compilerkomponenten nicht installiert oder das aktuelle Terminal ist nicht so konfiguriert, dass es sie findet. Die Meldung allein beweist weder, dass Python oder pip defekt ist, noch lassen sich damit andere Fehler beheben, etwa inkompatible Paketversionen oder fehlende Abhängigkeiten.

Microsoft-C++-Buildtools installieren

Wenn Visual Studio bereits installiert ist, öffnen Sie den Visual Studio Installer, wählen Sie für diese Installation Ändern und anschließend die Workload Desktopentwicklung mit C++ aus. Vergewissern Sie sich, dass die C++-Buildtools enthalten sind, und übernehmen Sie die Änderungen. Die Workload stellt den Compiler und weitere Tools für Builds von Paketen mit nativen Komponenten bereit.

Install Desktop Development With C++

Wenn Sie nicht die vollständige Visual-Studio-IDE benötigen, installieren Sie die Visual Studio Build Tools über die Downloadseite der Build Tools von Microsoft. Wählen Sie im Installer die Workload für C++-Buildtools sowie die für Ihre Zielarchitektur benötigten Komponenten aus. Die Bezeichnungen im Installer können sich je nach Version unterscheiden. Prüfen Sie vor Abschluss der Installation, ob die MSVC-Compiler-Tools ausgewählt sind.

Install C++ Build Tools

Nach der Installation der Workload ist der Compiler auf dem Computer verfügbar. Ein gewöhnliches Terminal ist jedoch möglicherweise nicht so konfiguriert, dass es ihn findet. Verwenden Sie für den nächsten Schritt eine Entwicklereingabeaufforderung, statt einen versionsabhängigen Compilerpfad in die systemweite Variable PATH einzutragen.

pip in einer konfigurierten Entwicklerumgebung ausführen

Öffnen Sie über das Startmenü eine mit den C++-Tools installierte Visual-Studio-Developer Command Prompt oder Native Tools Command Prompt. Wählen Sie für eine 64-Bit-Python-Installation eine x64-Eingabeaufforderung oder für eine 32-Bit-Installation die passende x86-Eingabeaufforderung. Die Eingabeaufforderung setzt Umgebungsvariablen für diese Terminalsitzung, darunter Pfade, über die der Compiler gefunden werden kann. Bereits geöffnete Fenster der Eingabeaufforderung oder von PowerShell werden dadurch nicht geändert.

Open Native Tools Command Prompt

Wechseln Sie in dieser Eingabeaufforderung bei Bedarf zum Projektverzeichnis und führen Sie denselben Befehl pip install package-name aus, der den Fehler verursacht hat. Verwenden Sie dabei die Python-Umgebung, in der Sie die Pakete installieren möchten. Wenn Sie normalerweise eine virtuelle Umgebung verwenden, aktivieren Sie sie beispielsweise in der konfigurierten Eingabeaufforderung, bevor Sie pip ausführen. Ein später geöffnetes gewöhnliches Terminal übernimmt die Einstellungen der Entwicklereingabeaufforderung nicht.

Compiler überprüfen und verbleibende Build-Fehler untersuchen

Prüfen Sie vor einem erneuten Installationsversuch mit where cl, ob die ausgewählte Eingabeaufforderung den Compiler findet. Windows sollte den Pfad zu cl.exe ausgeben. Wird die Datei nicht gefunden, vergewissern Sie sich, dass die C++-Workload vollständig installiert wurde, und öffnen Sie die passende Entwicklereingabeaufforderung erneut. Achten Sie darauf, dass deren Architektur zum verwendeten Python-Interpreter passt. Tragen Sie keinen geratenen Compilerpfad manuell ein.

Findet where cl den Compiler, während pip weiterhin dieselbe Meldung über den fehlenden Befehl ausgibt, stellen Sie sicher, dass die Installation in derselben Eingabeaufforderung läuft und die gewünschte Python-Umgebung aktiv ist. Sehen Sie sich anschließend das vollständige Build-Protokoll an: Ein Paket kann ein separates Build-Tool aufrufen oder eine Compilerkonfiguration verwenden, für die zusätzliche Komponenten nötig sind.

Ändert sich der Fehler zu C++-Diagnosen, fehlenden Headerdateien oder paketspezifischen Build-Fehlern, funktioniert die Compilersuche und das verbleibende Problem tritt später im Build auf. Lesen Sie die erste aussagekräftige Fehlermeldung in der vollständigen Ausgabe und prüfen Sie dann die Installationsanleitung des Pakets sowie, ob dafür ein Wheel verfügbar ist, das mit Ihrer Python-Version und Plattform kompatibel ist. Dass cl.exe vorhanden ist, garantiert allein nicht, dass sich jedes Paket aus dem Quellcode bauen lässt.