Debuggen Sie das Python-Multiprozessprogramm mit VSCode

So debuggen Sie ein Programm mit dem Multiprocessing-Modul von Python auf VSCode

Angenommener Leser

Exception escaped from start_client  

failed to launch debugger for child process  

AssertionError: can only join a child process  

RuntimeError: already started

Wie macht man

Das Debuggen eines Programms mit dem Multiprocessing-Modul erfordert die folgenden drei Punkte:

・ 1. Wenn \ _ \ _ name__ == "\ _ \ _ main__": Schreiben

Wenn \ _ \ _ name \ _ \ _ == "\ _ \ _ main \ _ \ _": erforderlich ist, damit die Datei (Modul der obersten Ebene) mit dem Debuggen beginnt. Wenn Sie diese Anweisung nicht sehen, fügen Sie sie hinzu, um Ihren Code zu formatieren. In einigen Fällen kann es eine entmutigende Aufgabe sein, aber es ist wichtig.

・ 2. Schreiben Sie die Anweisung multiprocessing.set_start_method ('spawn', True).

Wenn Sie beispielsweise Folgendes direkt unter die Hauptanweisung schreiben, funktioniert dies.

Beschreibungsbeispiel


if __name__ == "__main__": 
    import multiprocessing 
    multiprocessing.set_start_method('spawn', True)

Für Fenster mehr freeze_support()
Möglicherweise muss eine Zeile hinzugefügt werden

・ 3. Schreiben Sie den Abschnitt '"subProcess": true'in launch.json

Drücken Sie Strg + Umschalt + D, um den Debug-Modus aufzurufen und die Konfigurationsdatei launch.json zu bearbeiten.

openjson.jpg

Fügen Sie hier einen Abschnitt mit dem Namen "subProcess" hinzu: true.

Konfigurationsbeispiel


{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "subProcess": true,    //Nachtrag
      "console": "integratedTerminal"
    }
  ]
}

Debuggen der Jupyter-Notebook-Datei (.ipynb)

VSCode kann eine Jupyter-Notebook-Datei (.ipynb) öffnen und ausführen. Es gibt jedoch immer noch keine Möglichkeit, offenen Code zu debuggen. Wenn Sie ein Multiprozessprogramm debuggen möchten, wenden Sie die oben beschriebene Methode an, nachdem Sie es mit der VSCode-Funktion in ein Python-Skript konvertiert haben.

Bestätigte Umgebung

OS: Debian 10 python: 3.7.4 Visual Studio Code: 1.44.0

Recommended Posts

Debuggen Sie das Python-Multiprozessprogramm mit VSCode
Asynchron mit Python verarbeiten
Debuggen Sie Python mit VS-Code
Debuggen mit dem PEPPER Python Interpreter
Debuggen Sie gemeinsam genutzte Bibliotheken mit VScode
Ich möchte mit Python debuggen
[Python] Ein Programm, das Treppen mit # erstellt
[Python] Datenrahmen in der VScode-Debug-Konsole anzeigen
2D FEM Stressanalyseprogramm von Python
HTML-Dokument Python-Programme mit Sphinx
Debuggen Sie die MySQL-Verbindung mit Python MySQL.connector
[Python] Einkaufsprogramm
FizzBuzz in Python3
Scraping mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
[Python] Über Multi-Prozess
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Debuggen mit VS-Code mit Boost Python Numpy
[Python] [vscode] Wenn Sie sich über Space-Tab-Mix ärgern
Beispielprogramm, das Syslog mit Python-Protokollierung ausgibt
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
Führen Sie prepDE.py mit python3 aus
[Hinweis] Eine Geschichte über Anaconda und VScode, die Probleme mit dem Python-Importfehler haben
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten