2 votes

Comment passer au code de dépendance avec Visual Studio Code ?

Lorsque je débogue mon code utilisateur, je veux entrer dans le code d'une dépendance qui est installée par exemple avec pip install -e path/to/package .

J'ai essayé de trouver un endroit dans le projet où les dépendances sont listées et peuvent être parcourues pour ouvrir le fichier source à déboguer (par exemple, c'est possible dans PyCharm via la section "External Libraries").

J'aimerais entrer et sortir du code de dépendance, mais je ne trouve pas le moyen de le faire.

3voto

Gino Mempin Points 1471

Cela devrait être possible avec la configuration de débogage intégrée. Pour autant que je sache, le seul cas où ce n'est pas possible est lorsque les dépendances de Python sont des codes C (ex. OpenCV, pygame) parce qu'ils sont stockés en tant que .donc au lieu de fichiers Python.

Disons que j'ai cette structure :

main
 test.py
pkgs
 mypkg
     __init__.py
     moduleA.py
     setup.py

J'ai créé mypkg sur la base de Emballage des projets Python dans la documentation de Python. Je l'ai ensuite installé sur mon env en utilisant la même commande que vous avez mentionnée :

pip install -e /path/to/mypkg

Dans test.py, j'ai ceci :

import moduleA
moduleA.add_two_num(1, 2)

Tout d'abord, assurez-vous de configurer l'interpréteur VSCode pour qu'il utilise le même environnement que celui dans lequel vous avez installé mypkg . Voir Sélectionner et activer un environnement de la documentation du VSCode.

Suivant, créer une configuration de débogage pour test.py :

{
    "name": "test",
    "type": "python",
    "request": "launch",
    "cwd": "${workspaceFolder}",
    "program": "/path/to/test.py",
    "pythonPath": "/path/to/.virtualenvs/test-py37/bin/python",
    "console": "integratedTerminal",
}

Il est important, ici encore, de définir pythonpath pour pointer vers le même python où vous avez installé mypkg . Ici, j'utilise un environnement virtuel nommé test-py37 .

Placez maintenant un point d'arrêt sur la ligne contenant le paquet externe :

breakpoint

Lancez ensuite le débogueur (appuyez sur F5 ou sélectionnez-le dans le panneau Debug puis appuyez sur le bouton Play). Lorsque le débogueur s'arrête au point d'arrêt : step-into

Il suffit d'appuyer sur la touche Entrer dans le jeu (ou F11 ) et VS Code devrait vous amener au code de la dépendance externe. Vous pouvez également ouvrir le fichier directement dans VS Code, puis placer des points d'arrêt. Une fois qu'il est ouvert dans votre éditeur, la prochaine fois que vous déboguerez, il s'arrêtera sur ces points d'arrêt.

breakpoint on dependency

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X