Construction de l'environnement de développement de plug-in QGIS3 Python avec VSCode (macOS)

Ceci est un mémo lors de la création d'un environnement pour le développement et le débogage à distance des plug-ins QGIS sur VSCode. L'environnement est le suivant.

Ce n'est pas très brillant pour QGIS ou Python, c'est donc une bonne chose.

Installez QGIS

Installez avec le programme d'installation téléchargé depuis Site officiel ou Homebrew Cask.

$ brew cask install qgis

J'ai installé la dernière version (version 3.12.3).

Essayez soudainement de créer un plug-in QGIS

Développement de plugins de Matériel pédagogique ouvert de formation SIG Utilisez Plugin Builder 3 pour créer un plug-in de test en vous référant à la page matériaux / python / 10 / 10.html).

L'emplacement d'exportation du plug-in est le répertoire du plug-in du profil par défaut (* / Users / nom d'utilisateur / Library / Application Support / QGIS / QGIS3 / profiles / default / python / plugins *).

Au stade de la génération du plug-in, une erreur indiquant qu'il n'y a pas de compilateur de ressources s'affiche, mais elle est écrite pour le moment. pyrcc5 error

Installez PyQt

Maintenant que vous avez besoin de pyrcc5, installez PyQt avec Homebrew.

$ brew install pyqt

La dépendance nécessite python @ 3.8, mais si les ressources du plug-in que vous avez créé précédemment peuvent être compilées, c'est OK pour le moment.

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

Activez le plug-in créé depuis le menu "Plug-in" -> "Plug-in management and installation ..." et vérifiez qu'il peut être exécuté. テストプラグインの起動

Installer le serveur de débogage Python Tools pour Visual Studio

Je veux installer ptvsd, un package de débogage Python pour VS / VSCode, mais je n'ai pas le pip pour Python fourni avec QGIS ...

Allez d'abord sur la page du paquet ptvsd de PyPI et téléchargez * ptvsd-4.3.2.zip * à partir des fichiers de téléchargement.

Extrayez l'archive et copiez le dossier * ptvsd * dans * ptvsd-4.3.2 / src * sous * / 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

Redémarrez QGIS et installez le plug-in debugvs. Après l'installation, sélectionnez [Activer le débogage de Visual Studio] dans le menu du plug-in ou le bouton de la barre d'outils. debugvs

OK si le message «Remote Debug for Visual Studio is running» s'affiche. Remote Debug for Visual Studio is running

Débogage à distance depuis VSCode

Démarrez VSCode en utilisant le répertoire du plugin que vous avez créé précédemment en tant qu'espace de travail.

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

Spécification de l'interpréteur Python

Exécutez Python: sélectionnez Interpréteur dans la palette de commandes Select Interpreter

Sélectionnez "Entrer le chemin de l'interpréteur ..." et spécifiez * / Applications / QGIS3.12.app / Contents / MacOS / bin / python3 * directement Enter path

Les paramètres sont écrits dans * .vscode / settings.json *.

settings.json


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

Ajouter une configuration de débogage

Sélectionnez le menu Exécuter> Ajouter une configuration ... pour ajouter la configuration pour le débogage à distance.

Sélection d'environnement: Python Debug Configuration: Remote Attach Enter the host name: localhost Entrez le numéro de port qui ... (Omis): 5678

La configuration est ajoutée à * .vscode / launch.json *. S'il est laissé tel quel, il ne fonctionnera pas bien, alors modifiez la valeur de remoteRoot de pathMappings en" $ {workspaceFolder} ".

launch.json


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

Maintenant, lorsque vous lancez le débogage en sélectionnant "Exécuter" -> "Démarrer le débogage", il sera attaché au serveur de débogage QGIS Python. Vous pouvez vérifier que le débogage est possible en définissant un point d'arrêt dans le code et en exécutant le plug-in. Break Point

J'ai le sentiment qu'il sera possible de se développer dans un environnement familier.

Recommended Posts

Construction de l'environnement de développement de plug-in QGIS3 Python avec VSCode (macOS)
Construction de l'environnement de développement Python3 + venv + VSCode + macOS
[MEMO] [Construction de l'environnement de développement] Python
Commencez avec Python! ~ ① Construction de l'environnement ~
[Python3] Construction de l'environnement de développement << Édition Windows >>
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Mémo de construction de l'environnement de développement Emacs Python
Construction de l'environnement pytorch @ python3.8 avec pipenv
Configurer un environnement de développement Python avec Atom
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Environnement de développement Python pour macOS utilisant venv 2016
[Environnement de développement] Python avec Xcode [Avec transition d'écran]
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
Construction de l'environnement de développement Django avec Docker-compose + Nginx + uWSGI + MariaDB (édition macOS)
Construction d'environnement (python)
Construction de l'environnement VScode (Windows10, Python, C ++, C, Git)
construction d'environnement python
Python - Construction de l'environnement
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Construction de l'environnement Python
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
Création d'un environnement de développement Python pour Windows + gVim + Poetry
Introduction de sip-4.14 dans l'environnement python3.2.2 avec MacOS 10.7.4
Commencez avec Python en 30 minutes! Créer un environnement de développement et apprendre la grammaire de base
Collecter des informations depuis Twitter avec Python (construction de l'environnement)
Construction de l'environnement MacOS 10.11: Powerline avec Anaconda et Dein.vim
Construction de l'environnement Python (Anaconda + VSCode) @ Windows10 [version janvier 2020]
Créer un environnement de développement Python avec Visual Studio Code
[Python] Créer un environnement de développement Django avec Docker
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
Premier python ① Construction de l'environnement avec pythonbrew & Hello World !!
De la construction d'environnement Python à la construction d'environnement virtuel avec anaconda
Obtenez un environnement de développement Python rapide avec Poetry
construction d'environnement python homebrew
Environnement de développement en Python
Environnement virtuel avec Python 3.6
Construction de l'environnement Python @ Win7
Modèle de construction d'environnement de développement local Python [Flask / Django / Jupyter avec Docker + VS Code]
Virtualiser (isoler) l'environnement de développement IBM i python avec chroot
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
[Python] Construction de l'environnement OpenCV avec Docker (cv2.imshow () fonctionne également)
Créez un environnement de développement python avec vagrant + ansible + fabric
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Procédure de construction de l'environnement de développement Google App Engine / Python (fin 2014)
Application Web réalisée avec Python3.4 + Django (Construction de l'environnement Part.1)
Environnement de développement Python avec Windows + Anaconda3 + Visual Studio Code
Construction de l'environnement de développement Python 2020 [De l'installation de Python à l'introduction à la poésie]
Gérez les packages d'exécution Python et les packages d'environnement de développement avec Poetry
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Environnement de développement Python avec Windows + Python + PipEnv + Visual Studio Code
Ssh dans un environnement virtuel avec vscode Remote Development
Configurer un environnement de développement Python avec Sublime Text 2
Comment définir l'environnement de développement pour chaque projet avec VSCode + extension Python + Miniconda
Construction de l'environnement Python + Anaconda + Pycharm