Profil-Python-Code in Visual Studio
Visual Studio stellt Profilerstellungsfeatures für Python-Anwendungen bereit, wenn Sie Ihren Code debuggen. Mit dem Visual Studio-Debugger können Sie Ihren Code durchlaufen, um Variablen zu überprüfen, den Programmstatus zu analysieren, potenzielle Probleme zu beheben usw. Visual-Studio-Profilerstellungsfeatures enthalten Informationen zu Ausführungszeiten für Ihr Programm. Sie können diese Informationen verwenden, um Leistungsprobleme in Ihrem Code zu identifizieren.
Profilerstellung ist für Python 3.9 und früher verfügbar, wenn Sie einen CPython-basierten Interpreter verwenden.
Voraussetzungen
Visual Studio auf Windows wurde mit Unterstützung für Python-Workloads installiert. Weitere Informationen finden Sie unter Installieren von Python-Unterstützung in Visual Studio.
Ein CPython-basierter Interpreter. CPython ist der „native“ und am häufigsten verwendete Interpreter, verfügbar in 32- und 64-Bit-Versionen (32-Bit wird empfohlen). Weitere Informationen finden Sie unter Python-Interpreter installieren.
Ein Python-Projekt mit Code oder einem Ordner mit Python-Code.
Visual Studio für Mac wird derzeit nicht unterstützt. Weitere Informationen finden Sie unter Was passiert mit Visual Studio für Mac? Visual Studio Code unter Windows, Mac und Linux funktioniert gut mit Python über verfügbare Erweiterungen.
Verwenden von Profiler mit CPython-basierten Interpretern
Wenn Sie die Profilerstellung für eine Python-Anwendung durchführen, werden von Visual Studio während der gesamten Lebensdauer des Prozesses Daten gesammelt.
Führen Sie diese Schritte aus, um mit den Profilerstellungsfunktionen in Visual Studio zu arbeiten:
Öffnen Sie in Visual Studio Ihre Python-Code-Datei.
Stellen Sie sicher, dass die aktuelle Umgebung für Ihren Python-Code ein CPython-basierter Interpreter ist. Sie können den ausgewählten Interpreter im Python-Umgebungsfenster überprüfen.
Wählen Sie in der Hauptsymbolleiste Debug>Python-Profiling starten aus. Visual Studio öffnet den Dialog Profilerstellung Einstellungen:
Wählen Sie im Dialog Profilerstellungseinstellungen die Codedatei oder den Projektcode aus, die Sie profilieren möchten:
So profilieren Sie den gesamten Projektcode:
Wählen Sie Projekt öffnen aus.
Wählen Sie das Projekt aus der Dropdownliste aus. In der Liste werden alle Projekte in der aktuellen Visual-Studio-Projektmappe angezeigt.
So profilieren Sie eine bestimmte Datei:
Wählen Sie Eigenständiges Skript aus.
Wählen Sie den Python-Interpreter aus der Dropdownliste aus oder navigieren Sie zum Standort. Um einen nicht aufgelisteten Interpreter anzugeben, wählen Sie Andere in der Dropdownliste und geben Sie dann den Interpreterpfad an.
Identifizieren Sie die Skriptdatei oder navigieren Sie zum Speicherort.
Geben Sie das Arbeitsverzeichnis an oder navigieren Sie zum Speicherort.
Geben Sie alle Befehlszeilenargumente für die Skriptdatei an.
Wählen Sie Start aus.
Der Profiler wird ausgeführt und öffnet einen Leistungsbericht in Visual Studio. Sie können den Bericht überprüfen, um zu erfahren, wie Zeit in Ihrer Anwendung aufgewendet wird:
Verwenden von Profiler mit IronPython
IronPython ist eine .NET-Implementierung von Python, die in 32-Bit- und 64-Bit-Versionen verfügbar ist. IronPython ist kein CPython-basierter Interpreter. Visual Studio unterstützt standardmäßiges Python-Debugging für IronPython, aber nicht die Profilerstellungsfeatures.
Für IronPython-Projekte können Sie den .NET-Profiler von Visual Studio verwenden. Führen Sie den ipy.exe
-Befehl direkt als Zielanwendung mit den entsprechenden Argumenten aus, um das Startskript zu starten. Geben Sie in der Befehlszeile das Argument -X:Debug
an, um sicherzustellen, dass Ihr gesamter Python-Code debugged und profiliert werden kann. Dieses Argument erzeugt einen Leistungsbericht, der die in der IronPython-Laufzeit und in Ihrem Code verbrachte Zeit enthält. Ihr Code wird anhand beschädigter Namen identifiziert.
IronPython bietet einige eingebaute Profilerstellung, aber es gibt derzeit keinen brauchbaren Visualizer. Weitere Informationen finden Sie in der IronPython-Dokumentation unter An IronPython Profiler (Blog) und Debuggen und Profilerstellung.