From 9341c1a40c8f7f91a3f12434d829070cb9434862 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Thu, 24 Oct 2024 18:08:21 +0200 Subject: [PATCH 01/10] Add myself --- content/team/nicolas-godet.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 content/team/nicolas-godet.md diff --git a/content/team/nicolas-godet.md b/content/team/nicolas-godet.md new file mode 100644 index 0000000000..42a73f85e7 --- /dev/null +++ b/content/team/nicolas-godet.md @@ -0,0 +1,30 @@ +--- +title: Nicolas Godet +categories: + - contributeur +social: + - bluesky: + - github: nicogodet + - gitlab: nicogodet + - linkedin: + - mail: + - mastodon: + - instance: + - username: + - openstreetmap: + - osgeo: + - twitter: + - website: +--- + +# Nicolas Godet + + + +![Portrait Nicolas Godet](https://cdn.geotribu.fr/img/internal/contributeurs/ngo.webp "Portrait Nicolas Godet"){: .img-thumbnail-left } + +Ingénieur hydraulicien de formation, les SIG et QGIS font parti de mon quotidien tout comme les équations de Navier-Stockes, fameuses équations aux dérivées partielles non linéaires qui décrivent le mouvement des fluides newtoniens. + +Esprit bidouilleur, je me suis rapidement tourné vers Python et PyQGIS pour le développement de scripts métier d'automatisation de traitement de résultats de modèle numérique puis le développement et maintien de plugins QGIS. + + From 2a7e839ce153b770a6ef3841824c54e6a88df9b6 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Thu, 24 Oct 2024 18:08:46 +0200 Subject: [PATCH 02/10] Article dev pyqgis --- ...-10-XX_pyqgis_environnement_dev_windows.md | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md new file mode 100644 index 0000000000..54d2780b7f --- /dev/null +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -0,0 +1,101 @@ +--- +title: "Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows" +authors: + - Nicolas Godet +categories: + - article +comments: true +date: 2021-08-09 +description: "Pour le bonheur d'Intellisense" +icon: material/microsoft-visual-studio-code +image: "Image d'illustration de l'article qui sert ensuite dans la mise en avant : réseaux sociaux, flux RSS... 400x800 en PNG" +license: beerware +robots: index, follow +tags: + - python + - pyqgis + - windows + - vscode + - plugin qgis +--- + +# Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows + +:calendar: Date de publication initiale : {{ page.meta.date | date_localized }} + +## Introduction + +TOut ceux qui s'y sont frottés le savent, configurer son environnement PyQGIS et PyQt pour développer des plugins Python pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... + +Et bien plus maintenant ! Après avoir fouiller les archives d'internet et explorer les pistes fournis par Julien, voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQT, etc. dans VSCode. + +## Création de l'environnement virtuel + +Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau OSGeo4W et que l'installation est localisée dans `C:\OSGeo4W`. + +1. Ouvrir un console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaiter créer l'environnement virtuel. + Par exemple, un template de plugin fraichement créé via l'outil [QGIS Plugin Templater](https://gitlab.com/Oslandia/qgis/template-qgis-plugin). + +2. Exécuter les commandes suivantes : + + ```ps + C:\OSGeo4W\bin\python-qgis.bat -m venv --system-site-packages .venv + C:\OSGeo4W\bin\python-qgis.bat -c "import pathlib;import qgis;print(str((pathlib.Path(qgis.__file__)/'../..').resolve()))" > .venv\qgis.pth + ``` + + L'option `--system-site-packages` permet à l'environnement virtuel créé d'hériter des librairies spécifiques à l'environnement Python dans QGIS. + +3. Pour que VSCode reconnaisse les imports `processing`, ajouter la ligne suivante dans le fichier _.venv\qgis.pth_ : + `C:\OSGeo4W\apps\qgis\python\plugins` + + Votre fichier devrait ressembler à ça : + + ```text + C:\OSGeo4W\apps\qgis\python + C:\OSGeo4W\apps\qgis\python\plugins + ``` + + Veiller à ce que l'encodage du fichier _.venv\qgis.pth_ soit bien en UTF-8. + +4. Créer le fichier _sitecustomize.py_ dans le dossier _.venv\Lib\site-packages_ avec le contenu suivant : + + ```python + import os + + os.add_dll_directory("C:/OSGeo4W/bin") + os.add_dll_directory("C:/OSGeo4W/apps/qgis/bin") + os.add_dll_directory("C:/OSGeo4W/apps/Qt5/bin") + ``` + +5. Dans le fichier _.venv\pyvenv.cfg_, modifier les occurences _C:\OSGeo4W\bin_ en _C:\OSGeo4W\apps\Python312_ : + + ```text + home = C:\OSGeo4W\apps\Python312 + include-system-site-packages = true + version = 3.12.6 + executable = C:\OSGeo4W\apps\Python312\python.exe + command = C:\OSGeo4W\apps\Python312\python.exe -m venv --system-site-packages + ``` + +## Dans VSCode + +Si vous ouvrez VSCode dans le dossier où vous venez de créer l'environnement virtuel, VSCode détectera automatique l'environnement (sinon installer l'extension VSCode Python) et lorsque vous taperez des bouts de code, VSCode vous proposera les objets ou méthodes PyQGIS. + +![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode.webp) + +![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode2.webp) + +Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). +Dans le terminal VSCode, exécuter la commande `pip install PyQt5-stubs`. + +![PyQt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_pyqt.webp) + +Tout ça pour avoir un code coloré :smiley: ! + +![Contribuez GeoPF Altimétrie](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_geopf.webp) + +---- + + + +{% include "licenses/default.md" % From 0ab0c0e4f9b06afb302c4020bdf6bfb92b7ec189 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Thu, 24 Oct 2024 18:19:27 +0200 Subject: [PATCH 03/10] =?UTF-8?q?Bi=C3=A8re?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024/2024-10-XX_pyqgis_environnement_dev_windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index 54d2780b7f..b10e3bdb56 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -98,4 +98,4 @@ Tout ça pour avoir un code coloré :smiley: ! -{% include "licenses/default.md" % +{% include "licenses/beerware.md" %} From bb61e8b0a7c054dd481c383657c0461d56b224ca Mon Sep 17 00:00:00 2001 From: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:33:07 +0100 Subject: [PATCH 04/10] Apply some suggestions from code review Co-authored-by: Julien Co-authored-by: Guilhem Allaman <40383801+gounux@users.noreply.github.com> Signed-off-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> --- ...-10-XX_pyqgis_environnement_dev_windows.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index b10e3bdb56..5a3616c80b 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -1,5 +1,6 @@ --- title: "Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows" +subtitle: Protégeons notre environnement, pour nos enfants PyQGIS authors: - Nicolas Godet categories: @@ -8,15 +9,15 @@ comments: true date: 2021-08-09 description: "Pour le bonheur d'Intellisense" icon: material/microsoft-visual-studio-code -image: "Image d'illustration de l'article qui sert ensuite dans la mise en avant : réseaux sociaux, flux RSS... 400x800 en PNG" +image: license: beerware robots: index, follow tags: - - python - - pyqgis - - windows - - vscode - - plugin qgis + - Plugin QGIS + - PyQGIS + - Python + - VS Code + - Windows --- # Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows @@ -25,16 +26,16 @@ tags: ## Introduction -TOut ceux qui s'y sont frottés le savent, configurer son environnement PyQGIS et PyQt pour développer des plugins Python pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... +Tout ceux qui s'y sont frottés le savent, configurer son environnement PyQGIS et PyQt pour développer des plugins Python pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... -Et bien plus maintenant ! Après avoir fouiller les archives d'internet et explorer les pistes fournis par Julien, voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQT, etc. dans VSCode. +Et bien, plus maintenant ! Après avoir fouillé les archives d'internet et exploré les pistes fournies par [Julien](../../team/julien-moura.md), voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQt, etc. dans VS Code. ## Création de l'environnement virtuel Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau OSGeo4W et que l'installation est localisée dans `C:\OSGeo4W`. -1. Ouvrir un console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaiter créer l'environnement virtuel. - Par exemple, un template de plugin fraichement créé via l'outil [QGIS Plugin Templater](https://gitlab.com/Oslandia/qgis/template-qgis-plugin). +1. Ouvrir un console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaitez créer l'environnement virtuel. + Par exemple, un template de plugin fraîchement créé via l'outil [QGIS Plugin Templater](https://gitlab.com/Oslandia/qgis/template-qgis-plugin). 2. Exécuter les commandes suivantes : @@ -59,7 +60,7 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau 4. Créer le fichier _sitecustomize.py_ dans le dossier _.venv\Lib\site-packages_ avec le contenu suivant : - ```python + ```python title="venv\Lib\site-packages\sitecustomize.py" import os os.add_dll_directory("C:/OSGeo4W/bin") @@ -69,7 +70,7 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau 5. Dans le fichier _.venv\pyvenv.cfg_, modifier les occurences _C:\OSGeo4W\bin_ en _C:\OSGeo4W\apps\Python312_ : - ```text + ```ini home = C:\OSGeo4W\apps\Python312 include-system-site-packages = true version = 3.12.6 @@ -81,18 +82,18 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau Si vous ouvrez VSCode dans le dossier où vous venez de créer l'environnement virtuel, VSCode détectera automatique l'environnement (sinon installer l'extension VSCode Python) et lorsque vous taperez des bouts de code, VSCode vous proposera les objets ou méthodes PyQGIS. -![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode.webp) +![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode.webp){: .img-center loading=lazy } -![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode2.webp) +![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode2.webp){: .img-center loading=lazy } Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). Dans le terminal VSCode, exécuter la commande `pip install PyQt5-stubs`. -![PyQt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_pyqt.webp) +![PyQt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_pyqt.webp){: .img-center loading=lazy } Tout ça pour avoir un code coloré :smiley: ! -![Contribuez GeoPF Altimétrie](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_geopf.webp) +![Contribuez GeoPF Altimétrie](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_geopf.webp){: .img-center loading=lazy } ---- From a40b337f6a29a7dc09b23a8a596d5819b16c1cd5 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Sat, 9 Nov 2024 17:28:23 +0100 Subject: [PATCH 05/10] Prise en compte des commentaires, relecture et retouches finales --- ...-10-XX_pyqgis_environnement_dev_windows.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index 5a3616c80b..bb73212b10 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -1,5 +1,5 @@ --- -title: "Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows" +title: "Créer un environnement virtuel Python pour le développement de plugin QGIS avec VS Code sous Windows" subtitle: Protégeons notre environnement, pour nos enfants PyQGIS authors: - Nicolas Godet @@ -20,24 +20,24 @@ tags: - Windows --- -# Créer un environnement virtuel Python pour le développement de plugin QGIS avec VSCode sous Windows +# Créer un environnement virtuel Python pour le développement de plugin QGIS avec VS Code sous Windows :calendar: Date de publication initiale : {{ page.meta.date | date_localized }} ## Introduction -Tout ceux qui s'y sont frottés le savent, configurer son environnement PyQGIS et PyQt pour développer des plugins Python pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... +Tout ceux qui s'y sont frottés le savent, configurer son environnement Python, PyQGIS et PyQt sous Windows pour développer des plugins pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... Et bien, plus maintenant ! Après avoir fouillé les archives d'internet et exploré les pistes fournies par [Julien](../../team/julien-moura.md), voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQt, etc. dans VS Code. ## Création de l'environnement virtuel -Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau OSGeo4W et que l'installation est localisée dans `C:\OSGeo4W`. +Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OSGeo4W` (la procédure est identique que QGIS soit installé via l'installateur réseau OSGeo4W ou via le package MSI, les chemins indiqués dans la suite de l'article sont simplement à adapter selon votre installation). -1. Ouvrir un console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaitez créer l'environnement virtuel. +1. Ouvrir une console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaitez créer l'environnement virtuel. Par exemple, un template de plugin fraîchement créé via l'outil [QGIS Plugin Templater](https://gitlab.com/Oslandia/qgis/template-qgis-plugin). -2. Exécuter les commandes suivantes : +1. Exécuter les commandes suivantes : ```ps C:\OSGeo4W\bin\python-qgis.bat -m venv --system-site-packages .venv @@ -46,7 +46,7 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau L'option `--system-site-packages` permet à l'environnement virtuel créé d'hériter des librairies spécifiques à l'environnement Python dans QGIS. -3. Pour que VSCode reconnaisse les imports `processing`, ajouter la ligne suivante dans le fichier _.venv\qgis.pth_ : +1. Pour que VSCode reconnaisse les imports `processing`, ajouter la ligne suivante dans le fichier `.venv\qgis.pth` : `C:\OSGeo4W\apps\qgis\python\plugins` Votre fichier devrait ressembler à ça : @@ -56,9 +56,9 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau C:\OSGeo4W\apps\qgis\python\plugins ``` - Veiller à ce que l'encodage du fichier _.venv\qgis.pth_ soit bien en UTF-8. + Veiller à ce que l'encodage du fichier `.venv\qgis.pth` soit bien en UTF-8. -4. Créer le fichier _sitecustomize.py_ dans le dossier _.venv\Lib\site-packages_ avec le contenu suivant : +1. Créer le fichier `sitecustomize.py` dans le dossier `.venv\Lib\site-packages` avec le contenu suivant : ```python title="venv\Lib\site-packages\sitecustomize.py" import os @@ -68,7 +68,7 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau os.add_dll_directory("C:/OSGeo4W/apps/Qt5/bin") ``` -5. Dans le fichier _.venv\pyvenv.cfg_, modifier les occurences _C:\OSGeo4W\bin_ en _C:\OSGeo4W\apps\Python312_ : +1. Dans le fichier `.venv\pyvenv.cfg`, modifier les occurences `C:\OSGeo4W\bin` en `C:\OSGeo4W\apps\Python312` : ```ini home = C:\OSGeo4W\apps\Python312 @@ -78,16 +78,16 @@ Je suppose dans la suite que vous avez QGIS installé via l'installateur réseau command = C:\OSGeo4W\apps\Python312\python.exe -m venv --system-site-packages ``` -## Dans VSCode +## Dans VS Code -Si vous ouvrez VSCode dans le dossier où vous venez de créer l'environnement virtuel, VSCode détectera automatique l'environnement (sinon installer l'extension VSCode Python) et lorsque vous taperez des bouts de code, VSCode vous proposera les objets ou méthodes PyQGIS. +Si vous ouvrez VS Code dans le dossier où vous venez de créer l'environnement virtuel, VS Code détectera automatique l'environnement (sinon installer l'extension VS Code Python) et lorsque vous taperez des bouts de code, VS Code vous proposera les objets ou méthodes PyQGIS. ![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode.webp){: .img-center loading=lazy } ![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode2.webp){: .img-center loading=lazy } Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). -Dans le terminal VSCode, exécuter la commande `pip install PyQt5-stubs`. +Dans le terminal VS Code, exécuter la commande `pip install PyQt5-stubs`. ![PyQt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_pyqt.webp){: .img-center loading=lazy } From b39440cdb209b98085d9e696060914249ff9bda1 Mon Sep 17 00:00:00 2001 From: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:12:40 +0100 Subject: [PATCH 06/10] Apply suggestions from code review Co-authored-by: Julien Signed-off-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> --- ...-10-XX_pyqgis_environnement_dev_windows.md | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index bb73212b10..8a55b0f076 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -6,7 +6,7 @@ authors: categories: - article comments: true -date: 2021-08-09 +date: 2024-11-19 description: "Pour le bonheur d'Intellisense" icon: material/microsoft-visual-studio-code image: @@ -26,20 +26,30 @@ tags: ## Introduction +![logo PyQGIS](https://cdn.geotribu.fr/img/logos-icones/programmation/pyqgis.png){: .img-thumbnail-left } + Tout ceux qui s'y sont frottés le savent, configurer son environnement Python, PyQGIS et PyQt sous Windows pour développer des plugins pour QGIS est un réel parcours du combattant. À la fin, on est souvent perdant... Et bien, plus maintenant ! Après avoir fouillé les archives d'internet et exploré les pistes fournies par [Julien](../../team/julien-moura.md), voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQt, etc. dans VS Code. + + + +[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } +{: align=middle } + +---- + ## Création de l'environnement virtuel Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OSGeo4W` (la procédure est identique que QGIS soit installé via l'installateur réseau OSGeo4W ou via le package MSI, les chemins indiqués dans la suite de l'article sont simplement à adapter selon votre installation). -1. Ouvrir une console OSGeo Shell et naviguer jusqu'à l'emplacement où vous souhaitez créer l'environnement virtuel. +1. Ouvrir une console OSGeo4W Shell et naviguer jusqu'à l'emplacement où vous souhaitez créer l'environnement virtuel. Par exemple, un template de plugin fraîchement créé via l'outil [QGIS Plugin Templater](https://gitlab.com/Oslandia/qgis/template-qgis-plugin). 1. Exécuter les commandes suivantes : - ```ps + ```cmd title="Création d'un environnement virtuel dans l'OSGeo4W Shell" C:\OSGeo4W\bin\python-qgis.bat -m venv --system-site-packages .venv C:\OSGeo4W\bin\python-qgis.bat -c "import pathlib;import qgis;print(str((pathlib.Path(qgis.__file__)/'../..').resolve()))" > .venv\qgis.pth ``` @@ -51,7 +61,7 @@ Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OS Votre fichier devrait ressembler à ça : - ```text + ```text title="Contenu du fichier .venv\qgis.pth" C:\OSGeo4W\apps\qgis\python C:\OSGeo4W\apps\qgis\python\plugins ``` @@ -60,7 +70,7 @@ Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OS 1. Créer le fichier `sitecustomize.py` dans le dossier `.venv\Lib\site-packages` avec le contenu suivant : - ```python title="venv\Lib\site-packages\sitecustomize.py" + ```python title=".venv\Lib\site-packages\sitecustomize.py" import os os.add_dll_directory("C:/OSGeo4W/bin") @@ -70,7 +80,7 @@ Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OS 1. Dans le fichier `.venv\pyvenv.cfg`, modifier les occurences `C:\OSGeo4W\bin` en `C:\OSGeo4W\apps\Python312` : - ```ini + ```ini title=".venv\pyenv.cfg" home = C:\OSGeo4W\apps\Python312 include-system-site-packages = true version = 3.12.6 @@ -78,16 +88,22 @@ Je suppose dans la suite que vous avez installé QGIS dans le répertoire `C:\OS command = C:\OSGeo4W\apps\Python312\python.exe -m venv --system-site-packages ``` +---- + ## Dans VS Code -Si vous ouvrez VS Code dans le dossier où vous venez de créer l'environnement virtuel, VS Code détectera automatique l'environnement (sinon installer l'extension VS Code Python) et lorsque vous taperez des bouts de code, VS Code vous proposera les objets ou méthodes PyQGIS. +Si vous ouvrez VS Code dans le dossier où vous venez de créer l'environnement virtuel, VS Code détectera automatiquement l'environnement (sinon installer [l'extension VS Code Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)) et lorsque vous taperez des bouts de code, VS Code vous proposera les objets ou méthodes PyQGIS. -![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode.webp){: .img-center loading=lazy } +![Complétion des imports](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_intellisense_completion_imports.webp){: .img-center loading=lazy } -![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode2.webp){: .img-center loading=lazy } +![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_intellisense_completion_methodes.webp){: .img-center loading=lazy } Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). -Dans le terminal VS Code, exécuter la commande `pip install PyQt5-stubs`. +Dans le terminal VS Code, exécuter la commande : + +```powershell title="Installer la complétion PyQT dans l'environnement virtuel" +pip install PyQt5-stubs +``` ![PyQt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_pyqt.webp){: .img-center loading=lazy } From c5b6c5a3f62ef24dbcfc6a51db6e0c1ded375103 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 14:13:09 +0000 Subject: [PATCH 07/10] =?UTF-8?q?[pre-commit.ci]=20Corrections=20automatiq?= =?UTF-8?q?ues=20appliqu=C3=A9es=20par=20les=20git=20hooks.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024/2024-10-XX_pyqgis_environnement_dev_windows.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index 8a55b0f076..7d3934bffc 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -32,7 +32,6 @@ Tout ceux qui s'y sont frottés le savent, configurer son environnement Python, Et bien, plus maintenant ! Après avoir fouillé les archives d'internet et exploré les pistes fournies par [Julien](../../team/julien-moura.md), voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQt, etc. dans VS Code. - [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } @@ -99,7 +98,7 @@ Si vous ouvrez VS Code dans le dossier où vous venez de créer l'environnement ![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_intellisense_completion_methodes.webp){: .img-center loading=lazy } Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). -Dans le terminal VS Code, exécuter la commande : +Dans le terminal VS Code, exécuter la commande : ```powershell title="Installer la complétion PyQT dans l'environnement virtuel" pip install PyQt5-stubs From 5aaed1dca4f1da838becbe54685bc515a0c9cb9f Mon Sep 17 00:00:00 2001 From: nicogodet Date: Fri, 15 Nov 2024 15:13:40 +0100 Subject: [PATCH 08/10] lint --- .../2024/2024-10-XX_pyqgis_environnement_dev_windows.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md index 8a55b0f076..7d3934bffc 100644 --- a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md @@ -32,7 +32,6 @@ Tout ceux qui s'y sont frottés le savent, configurer son environnement Python, Et bien, plus maintenant ! Après avoir fouillé les archives d'internet et exploré les pistes fournies par [Julien](../../team/julien-moura.md), voici l'une des méthodes permettant d'avoir toutes (ou presque) les autocomplétions d'objets et méthodes PyQGIS, PyQt, etc. dans VS Code. - [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } @@ -99,7 +98,7 @@ Si vous ouvrez VS Code dans le dossier où vous venez de créer l'environnement ![Complétion des méthodes](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/pyqgis_environnement_dev_windows/vscode_intellisense_completion_methodes.webp){: .img-center loading=lazy } Pour également avoir l'ensemble des complétions associées à PyQt, il semble être nécessaire d'installer une librairie Python supplémentaire `PyQt5-stubs` (certes qui n'est plus maintenue mais qui a le mérite de fonctionner). -Dans le terminal VS Code, exécuter la commande : +Dans le terminal VS Code, exécuter la commande : ```powershell title="Installer la complétion PyQT dans l'environnement virtuel" pip install PyQt5-stubs From 410d0d463911e9b36a06dff4745e0a5977fd3d52 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Fri, 15 Nov 2024 15:15:54 +0100 Subject: [PATCH 09/10] date update --- ..._windows.md => 2024-11-19_pyqgis_environnement_dev_windows.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/articles/2024/{2024-10-XX_pyqgis_environnement_dev_windows.md => 2024-11-19_pyqgis_environnement_dev_windows.md} (100%) diff --git a/content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-11-19_pyqgis_environnement_dev_windows.md similarity index 100% rename from content/articles/2024/2024-10-XX_pyqgis_environnement_dev_windows.md rename to content/articles/2024/2024-11-19_pyqgis_environnement_dev_windows.md From 4ae1c6358e349f1e2cbb7d6e2a8356163e7f3dd2 Mon Sep 17 00:00:00 2001 From: nicogodet Date: Fri, 15 Nov 2024 16:47:48 +0100 Subject: [PATCH 10/10] date update v2 --- ...indows.md => 2024-11-25_pyqgis_environnement_dev_windows.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename content/articles/2024/{2024-11-19_pyqgis_environnement_dev_windows.md => 2024-11-25_pyqgis_environnement_dev_windows.md} (99%) diff --git a/content/articles/2024/2024-11-19_pyqgis_environnement_dev_windows.md b/content/articles/2024/2024-11-25_pyqgis_environnement_dev_windows.md similarity index 99% rename from content/articles/2024/2024-11-19_pyqgis_environnement_dev_windows.md rename to content/articles/2024/2024-11-25_pyqgis_environnement_dev_windows.md index 7d3934bffc..2abc853ac9 100644 --- a/content/articles/2024/2024-11-19_pyqgis_environnement_dev_windows.md +++ b/content/articles/2024/2024-11-25_pyqgis_environnement_dev_windows.md @@ -6,7 +6,7 @@ authors: categories: - article comments: true -date: 2024-11-19 +date: 2024-11-25 description: "Pour le bonheur d'Intellisense" icon: material/microsoft-visual-studio-code image: