L'une des fonctionnalités de vente de PyCharm, un IDE Python, est la fonctionnalité de débogage à distance. C'est une fonction très pratique, mais il n'y avait pas beaucoup de pages qui expliquaient comment l'utiliser en japonais, donc j'aimerais expliquer comment la configurer et comment l'utiliser de manière pratique.
La plupart des cas, tels que les erreurs de syntaxe simples et les bogues qui se produisent à chaque fois, peuvent être résolus par un débogage local. Cependant, les bogues dépendants de l'environnement et les bogues causés par des données utilisateur spécifiques sont difficiles à trouver par le débogage local. De plus, je pense qu'il existe de nombreux cas où un environnement virtuel est préparé localement et exécuté là-bas. Le débogage à distance est toujours efficace dans ce cas.
Il existe deux types de fonctions appelées débogage à distance, je vais donc vous expliquer chacune d'elles.
C'est un format qui démarre le serveur de débogage localement et y accède à distance.
Tout d'abord, préparez l'environnement distant. Il existe une archive pour le débogage dans le répertoire où vous avez installé PyCharm localement, alors copiez-la dans un emplacement approprié sur le serveur distant.
scp /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg user@host:/path/to/pycharm-debug.egg
Transmettez le chemin du fichier ci-dessus sur le serveur distant. Ajoutez-le à la variable d'environnement "PYTHONPATH" ou ajoutez le chemin d'accès par programme à sys.path.
Exemple: lors de l'ajout à sys.path
import sys
sys.path.append('/path/to/pycharm-debug.egg')
Ensuite, ajoutez un paramètre qui appelle le serveur local.
import pydevd
pydevd.settrace(192.168.1.1, port=12345, stdoutToServer=True, stderrToServer=True)
Le premier argument de settrace est le nom d'hôte local (si le distant et le local sont sur des réseaux différents, ils doivent pouvoir accéder l'un à l'autre). Le deuxième argument est le numéro de port qui écoute localement.
La préparation est terminée.
Ensuite, démarrez le serveur qui écoute localement. Dans les paramètres "Exécuter / Déboguer les configurations" de PyCharm, sélectionnez "Python Remote Debug" à partir du bouton + en haut à gauche.
"Nom d'hôte local" est le nom d'hôte local défini précédemment dans le premier argument de settrace. Pour "Port", entrez le numéro de port spécifié dans le deuxième argument. Appuyez sur OK, définissez un point d'arrêt, puis cliquez sur le bouton Déboguer pour entrer en veille localement.
Le serveur distant démarre normalement avec runserver, etc. Désormais, lorsque vous accédez au serveur distant avec un navigateur, etc., vous pouvez vous arrêter au point d'arrêt et exécuter une étape d'exécution, etc. à partir du PyCharm local.
Il s'agit d'une méthode de connexion avec ssh et d'utilisation d'un interpréteur distant. Il peut être utilisé rarement. De plus, cette méthode semble être disponible uniquement dans l'édition professionnelle payante.
Activez "SSH Remote Run plugin" depuis l'écran des paramètres PyCharm.
Puis "Paramètres> Projet: serveur> Interpréteur de projet" Cliquez sur le symbole d'engrenage à côté de "Project Interpreter" et sélectionnez Ajouter une télécommande.
Sélectionnez Identifiants SSH et saisissez les informations pour vous connecter avec SSH.
Cliquez sur le bouton en regard des mappages de chemins pour ajouter le répertoire d'application local et le répertoire d'application distante.
Cela ajoutera l'interpréteur de serveur distant à la liste des interprètes afin que vous puissiez le sélectionner et l'exécuter localement.
Étant donné que la méthode Python Debug Server exécute pydev, je pense que c'est une bonne idée de faciliter la commutation du paramètre ON / OFF et de l'activer uniquement lorsque cela est nécessaire. C'est un problème à configurer, mais c'est une fonctionnalité très utile, donc je la recommande vivement.
Recommended Posts