Dans l'apprentissage automatique et l'analyse de données, il est rare que le travail d'analyse / développement soit effectué uniquement avec la machine à portée de main. Je pense qu'il est développé en utilisant Docker etc. sur un serveur distant avec GPU Morimori.
À partir de VSCode, j'ai fait un essai et une erreur sur le développement Python dans un environnement distant, il s'agit donc d'un résumé.
L'auteur est un débutant qui vient de commencer à utiliser VS Code, j'apprécierais donc tout conseil.
C'est un environnement de travail. Je ne pense pas que cela soit lié à cet environnement.
--Machine locale: Macbook Pro - VSCode: v1.48.2
Puisqu'il s'agit d'un environnement de développement intégré, je voudrais lancer VSCode sur une machine locale et terminer le travail avec uniquement le VSCode local.
Développement à distance Utilisez l'extension. Cette extension semble être une collection d'extensions de développement à distance pour SSH, Container et WSL (elles se ressemblent même si elles sont installées).
Référence: https://code.visualstudio.com/docs/remote/ssh#_getting-started
Remote Development:https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
Ouvrez la palette de commandes et sélectionnez Remote-SSH: Connect to Host
pour afficher une liste de sélection de connexions.
Si vous sélectionnez ʻAjouter un nouvel hôte SSH` à partir d'ici, vous serez invité à entrer la commande shsh, alors entrez la même commande que pour la connexion ssh depuis le terminal. Lors de la première connexion, je me souviens qu'il n'y avait qu'un élément «Ajouter un nouvel hôte SSH».
Pour l'authentification par clé, spécifiez la clé avec l'option -i
lors de la saisie de la commande ssh.
Ces paramètres sont écrits dans ~ / .ssh / config
par défaut.
Vous pouvez également écrire directement les paramètres de transfert de port, les paramètres de fichiers clés, etc. (Peut-être ajouter un hôte)
Sélectionnez le serveur distant depuis Remote-SSH: Connect to Host
sur la palette de commandes, comme vous l'avez fait lorsque vous avez ajouté l'hôte. Vous pouvez également y accéder en sélectionnant l'hôte dans "Remote Explorer" dans le menu contextuel sur le côté gauche de VS Code.
Une fois connecté au serveur distant, l'étape suivante consiste à se connecter au conteneur Docker.
J'ai fait référence à l'article suivant (je viens de le tracer tel quel à titre de référence, veuillez donc vérifier la source de référence). Faites fonctionner le conteneur Docker sur le serveur avec SSH à partir de VS Code: https://qiita.com/_kani/items/1ce36e36b0bcda403be2
Lancez le terminal VSCode et lancez le conteneur avec la commande docker. L'extension RemoteDevelopment a également une fonction qui prend en charge du lancement du conteneur docker à la connexion, mais cela semble être une opération docker sur la machine locale. Ainsi, lors de la configuration d'un conteneur sur un serveur distant, utilisez la commande docker normale (je ne pouvais tout simplement pas le faire?).
Définissez la redirection de port. (Je ne comprends pas vraiment comment cela fonctionne ...)
Ouvrez le fichier de configuration ssh. Si vous ouvrez la palette de commandes et entrez ssh config
etc., des éléments apparaîtront, alors sélectionnez-le.
Ajoutez le paramètre LocalForward
aux paramètres d'hôte distant appropriés.
Host 192.168.*******
HostName 192.168.*******
IdentityFile ~/.ssh/id_rsa
User *****
LocalForward 23750 /var/run/docker.sock
Connectez-vous à l'hôte distant à partir de VS Code. Il est également nécessaire d'installer l'extension de développement à distance sur l'hôte distant.
Dans Préférence, définissez les paramètres comme suit. Sélectionnez Remote sur l'onglet et recherchez Docker.host et il apparaîtra.
tcp://localhost:23750
Vous êtes maintenant prêt.
L'écran de réglage apparaît lorsque vous entrez dans les préférences Ouvrir les paramètres utilisateur, etc. à partir de la palette de commandes.
Utilisez l'explorateur distant dans la barre latérale. Lorsque vous sélectionnez Conteneurs dans le menu déroulant en haut, une liste de conteneurs apparaîtra, alors sélectionnez le conteneur auquel vous souhaitez vous connecter. Connectez-vous au conteneur avec "Attach to Container" (une nouvelle fenêtre sera lancée).
Puisque VSCod est un environnement de développement intégré, vous pouvez définir de manière interactive des points d'arrêt et déboguer. Cependant, dans un environnement spécifique, il a été confirmé que les points d'arrêt ne peuvent pas être définis et les étapes ne peuvent pas être exécutées, et le programme s'exécute jusqu'à la fin.
C'est un problème, mais il semble que la fonction de débogage soit activée en définissant des paramètres dans le fichier de configuration du débogueur «launch.json».
'launch.json' s'affiche sur l'écran de l'éditeur en ouvrant le débogueur à partir du menu latéral VS Code et en appuyant sur la marque d'engrenage en haut. Ajoutez des paramètres à ce fichier json.
"stopOnEntry":true
Vous devez faire attention à l'ordre dans lequel vous mettez stopOnEntry
.
Quand je l'ai mis avant «args», je suis resté bloqué pendant un certain temps lorsque j'ai rencontré le phénomène selon lequel le paramètre «args» n'était pas appliqué et que l'argument n'était pas passé au débogueur.
Après quelques essais et erreurs, je me suis maintenant installé sur la procédure ci-dessus. Si vous connaissez un meilleur moyen, faites-le moi savoir.
Je suis particulièrement inquiet de ne pas vraiment comprendre comment faire fonctionner le conteneur Docker.
Recommended Posts