Votre navigateur n'est pas à jour !

Merci de mettre à jour votre navigateur pour utiliser mon blog. Mettre à jour mon navigateur maintenant

×

Python - Faire du pas à pas dans un container Docker python déjà lancé avec VSCode

Date de publication 27 mai 2021
Nous avons vu dans un précédent article la configuration de VSCode pour faire du débogage avec une application Django au travers Docker

Dans cette partie nous allons également aborder la configuration de VSCode sur une application python sans django.
Cette fois nous allons nous connecter à un container déjà lancé, orchestré par docker-compose.
Pour l'exemple nous allons prendre le logiciel Odoo qui est un ERP open source développé en python.

Installer les dépendances


Pour que le mode pas à pas soit possible il est nécessaire d'installer la librairie debugpy qui est développée par Microsoft.
pip3 install debugpy

Vous pouvez placer cette instruction dans votre Dockerfile
RUN pip3 install debugpy

et relancer un build, par exemple avec docker compose
docker-compose up --build


Encapsuler votre application


La seule chose à faire est de charger le module python debugpy avant de lancer votre application.

Dans notre cas nous allons modifier le docker-compose.yml en précisant la commande suivante

L'option
-m debugpy
charge le module et
--listen 0.0.0.0:8088
écoute le port 8088 pour faire le pas à pas.

Le reste des options est liées à l'application odoo en mode développement

Relancez votre application
docker-compose up


TIPS : Dans VSCode vous pouvez lancer docker-compose avec un clic droit sur ce fichier Compose Up.

Utilisation


Il vous reste à configurer votre débogueur VSCode en plaçant dans le dossier .vscode, à la racine de votre application, ce fichier launch.json

La valeur a indiqué dans le champ host est le résultat de cette commande

docker inspect bridge --format="{{(index .IPAM.Config 0).Gateway}}"


Il vous reste à placer un point d'arrêt et d'aller dans l'onglet Run de VSCode
Lancer le debug dans VSCode
blog comments powered by Disqus