Aufbau einer QGIS3 Python-Plug-In-Entwicklungsumgebung mit VSCode (macOS)

Dies ist ein Memo beim Erstellen einer Umgebung zum Entwickeln und Remote-Debuggen von QGIS-Plug-Ins in VSCode. Die Umgebung ist wie folgt.

Es ist nicht sehr hell für QGIS oder Python, also ist das eine gute Sache.

Installieren Sie QGIS

Installieren Sie mit dem Installationsprogramm, das von Official Site oder Homebrew Cask heruntergeladen wurde.

$ brew cask install qgis

Ich habe die neueste Version (Version 3.12.3) installiert.

Versuchen Sie plötzlich, ein QGIS-Plug-In zu erstellen

Plugin-Entwicklung von GIS Practice Open Teaching Material Verwenden Sie Plugin Builder 3, um ein Test-Plug-In zu erstellen, indem Sie auf die Seite materialien / python / 10 / 10.html) verweisen.

Der Speicherort für das Exportieren des Plug-Ins ist das Plug-In-Verzeichnis des Standardprofils (* / Benutzer / Benutzername / Bibliothek / Anwendungsunterstützung / QGIS / QGIS3 / Profile / Standard / Python / Plugins *).

In der Phase der Plug-Generierung wird ein Fehler angezeigt, der besagt, dass kein Ressourcen-Compiler vorhanden ist, der jedoch vorerst ausgeschrieben wird. pyrcc5 error

Installieren Sie PyQt

Nachdem Sie pyrcc5 benötigen, installieren Sie PyQt mit Homebrew.

$ brew install pyqt

Die Abhängigkeit erfordert "python @ 3.8", aber wenn die Ressourcen des zuvor erstellten Plug-Ins kompiliert werden können, ist dies vorerst in Ordnung.

$ cd /Users/xxx/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins/plugin_test
$ pyrcc5 -o resources.py resources.qrc

Aktivieren Sie das erstellte Plug-In über das Menü "Plug-In" -> "Plug-In-Verwaltung und Installation ..." und prüfen Sie, bis es ausgeführt werden kann. テストプラグインの起動

Installieren Sie den Python Tools für Visual Studio-Debugserver

Ich möchte ptvsd installieren, ein Python-Debugger-Paket für VS / VSCode, aber ich habe nicht die Pip für Python, die mit QGIS geliefert wird ...

Gehen Sie also zuerst zu PyPIs ptvsd-Paketseite und laden Sie * ptvsd-4.3.2.zip * von den Download-Dateien herunter.

Extrahieren Sie das Archiv und kopieren Sie den Ordner * ptvsd * in * ptvsd-4.3.2 / src * unter * / Applications / QGIS3.12.app / Contents / Resources / python *.

$ cd ~/Downloads
$ unzip ptvsd-4.3.2.zip
$ cd ptvsd-4.3.2/src
$ cp -r ptvsd /Applications/QGIS3.12.app/Contents/Resources/python

Starten Sie QGIS neu und installieren Sie das Debugvs-Plug-In. Wählen Sie nach der Installation im Plug-In-Menü oder auf der Schaltfläche in der Symbolleiste die Option [Debug Visual Studio aktivieren] aus. debugvs

OK, wenn die Meldung "Remote-Debug für Visual Studio wird ausgeführt" angezeigt wird. Remote Debug for Visual Studio is running

Remote-Debugging von VSCode

Starten Sie VSCode mit dem zuvor erstellten Plugin-Verzeichnis als Arbeitsbereich.

$ cd /Users/xxx/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins/plugin_test
$ code .

Angeben des Python-Interpreters

Python ausführen: Wählen Sie Interpreter aus der Befehlspalette Select Interpreter

Wählen Sie "Interpreterpfad eingeben ..." und geben Sie * / Applications / QGIS3.12.app / Contents / MacOS / bin / python3 * direkt an Enter path

Die Einstellungen werden in * .vscode / settings.json * geschrieben.

settings.json


{
  "python.pythonPath": "/Applications/QGIS3.12.app/Contents/MacOS/bin/python3"
}

Debug-Konfiguration hinzufügen

Wählen Sie das Menü Ausführen> Konfiguration hinzufügen ..., um die Konfiguration für das Remote-Debugging hinzuzufügen.

Umgebungsauswahl: Python Debug Configuration: Remote Attach Enter the host name: localhost Geben Sie die Portnummer ein, die ... (weggelassen): 5678

Die Konfiguration wird zu * .vscode / launch.json * hinzugefügt. Wenn es so bleibt, wie es ist, funktioniert es nicht gut. Ändern Sie daher den Wert von "remoteRoot" von "pathMappings" in "$ {workspaceFolder}".

launch.json


{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python:anfügen",
      "type": "python",
      "request": "attach",
      "port": 5678,
      "host": "localhost",
      "pathMappings": [
        {
          "localRoot": "${workspaceFolder}",
          "remoteRoot": "${workspaceFolder}"
        }
      ]
    }
  ]
}

Wenn Sie nun den Debug-Lauf starten, indem Sie "Ausführen" -> "Debug starten" auswählen, wird er an den QGIS Python-Debug-Server angehängt. Sie können überprüfen, ob das Debuggen möglich ist, indem Sie einen Haltepunkt im Code festlegen und das Plug-In ausführen. Break Point

Ich habe das Gefühl, dass es möglich sein wird, sich in einer vertrauten Umgebung zu entwickeln.

Recommended Posts

Aufbau einer QGIS3 Python-Plug-In-Entwicklungsumgebung mit VSCode (macOS)
Aufbau der Python3 + venv + VSCode + macOS-Entwicklungsumgebung
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Beginnen Sie mit Python! ~ ① Umweltbau ~
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Python-Entwicklungsumgebung für macOS mit venv 2016
[Entwicklungsumgebung] Python mit Xcode [Mit Bildschirmübergang]
Webanwendung mit Python + Flask (unter Verwendung von VScode) # 1 - Aufbau einer virtuellen Umgebung-
Aufbau einer Django-Entwicklungsumgebung mit Docker-Compose + Nginx + uWSGI + MariaDB (macOS Edition)
Umgebungskonstruktion (Python)
Aufbau einer VScode-Umgebung (Windows 10, Python, C ++, C, Git)
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Aufbau einer Python-Umgebung
Kommen wir zu Python # 0 (Umgebungskonstruktion)
Erstellen einer Python-Entwicklungsumgebung für Windows + gVim + Poetry
Einführung von sip-4.14 in der Python3.2.2-Umgebung mit MacOS 10.7.4
Beginnen Sie in 30 Minuten mit Python! Erstellen Sie eine Entwicklungsumgebung und lernen Sie grundlegende Grammatik
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Aufbau einer MacOS 10.11-Umgebung: Powerline mit Anaconda und Dein.vim
Aufbau einer Python-Umgebung (Anaconda + VSCode) @ Windows10 [Version Januar 2020]
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Holen Sie sich mit Poetry eine schnelle Python-Entwicklungsumgebung
Homebrew Python Umgebung Konstruktion
Entwicklungsumgebung in Python
Virtuelle Umgebung mit Python 3.6
Python-Umgebungskonstruktion @ Win7
Konstruktionsvorlage für die lokale Python-Entwicklungsumgebung [Flask / Django / Jupyter mit Docker + VS-Code]
Virtualisieren (isolieren) Sie die IBM i Python-Entwicklungsumgebung mit chroot
Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
[Python] OpenCV-Umgebungskonstruktion mit Docker (cv2.imshow () funktioniert auch)
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Konstruktionsverfahren für die Google App Engine / Python-Entwicklungsumgebung (Ende 2014)
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
Python-Entwicklungsumgebung mit Windows + Anaconda3 + Visual Studio Code
Aufbau der Python-Entwicklungsumgebung 2020 [Von der Python-Installation bis zur Einführung in die Poesie]
Verwalten Sie Python-Laufzeitpakete und Entwicklungsumgebungspakete mit Poetry
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Python-Entwicklungsumgebung mit Windows + Python + PipEnv + Visual Studio-Code
SSH in eine virtuelle Umgebung mit vscode Remote Development
Richten Sie mit Sublime Text 2 eine Python-Entwicklungsumgebung ein
So legen Sie die Entwicklungsumgebung für jedes Projekt mit VSCode + Python-Erweiterung + Miniconda fest
Python + Anaconda + Pycharm-Umgebungskonstruktion