Développez avec pycharm local à l'aide de l'interpréteur d'instance AWS!
Lorsqu'il est extrêmement difficile d'installer un module spécifique, il est très facile d'utiliser l'AWS AMI ou le conteneur docker déjà installé. Cependant, je veux coder avec un IDE tel que pycharm, il est donc un peu difficile d'entrer dans le serveur et de développer avec vim. .. Avec pycharm, j'ai trouvé une fonction qui me permet de me connecter à un serveur avec télécommande et code en utilisant l'interpréteur de ce serveur, donc je vais l'essayer et écrire une note.
Cliquez sur Préférences Pycharm-> Projet: hoge-> Interpréteur de projet et l'écran suivant apparaîtra. Cliquez sur l'engrenage dans le coin supérieur droit La fenêtre suivante apparaîtra, alors appuyez sur "Ajouter une télécommande".
Lorsque vous appuyez sur Ajouter une télécommande, Configure de l'interpréteur apparaît, donc lorsque vous appuyez sur Informations d'identification SSH, l'écran de configuration suivant apparaît.
Spécifiez les éléments suivants pour chacun ici.
--Spécifiez une adresse IP publique telle que l'hôte: 54.xx.xx.xx --port: spécifiez le numéro de port pour la connexion ssh
C'est acceptable. Parfois, en fonction de l'AMI, l'environnement de travail peut être construit en tant qu'utilisateur root au lieu d'un utilisateur général tel que ec2-user, donc dans ce cas je jouerai avec sshd_config et la clé publique.
# sshd_Modifier la configuration
vi /etc/ssh/sshd_config
# PermitRootLogin forced-commands-seulement ci-dessous.
PermitRootLogin without-password
#Copie de la clé publique
mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys_bak
cp -f /home/ec2-user/.ssh/authorized_keys /root/.ssh/authorized_keys
service sshd reload
J'ai écrit jusqu'à présent, mais j'ai remarqué que cette fonctionnalité est assez ennuyeuse. .. Premièrement, il ne peut être exécuté que si le chemin local existe du côté distant. Peut-être est-il correct d'utiliser cette fonction en téléchargeant ce qui a été écrit localement sur la télécommande tel quel? Ensuite, certains modules ne peuvent pas être importés pour une raison quelconque. J'utilise caffe, mais import caffe dit que non. Il n'y a pas de pycaffe sous anaconda, donc je devrai peut-être la déplacer vers anaconda.
Hmmm, puis-je l'utiliser pour créer une source avec un IDE local qui ne donne pas d'erreur d'importation et la lever? ?? Merveille. .. Je suis assez triste de ne pas pouvoir déboguer. .. .. J'étudierai le problème ci-dessus s'il y a une capacité disponible.
J'ai remarqué la correspondance entre les chemins locaux et distants et la fonction de téléchargement automatique, alors je l'ai ajoutée.
1 Cliquez sur "Modifier la configuration .." dans "RUN" dans l'onglet supérieur. 2 Cliquez sur le côté droit de Path Mapping. 3 Définissez le chemin local et le chemin distant. c'est tout.
Même si vous l'associez, le travail est local, vous devez donc télécharger la source modifiée sur AWS une par une. Comment télécharger automatiquement la source modifiée par pycharm local sur AWS. 1 Dans Préférences-> Déploiement, appuyez sur le bouton +. 2 Sélectionnez SFTP et spécifiez la paire de clés global IP Root path = "/". Vous pouvez laisser les fichiers Parcourir sur le serveur tels quels. 3 Dans Préférences-> Déploiement-> Options, définissez Télécharger automatiquement les fichiers modifiés ... sur Toujours et spécifiez Remplacer les autorisations par défaut sur les fichiers: comme toutes les autorisations. c'est tout.
Vous pouvez désormais coder localement avec pycharm et le développer avec une réflexion immédiate sur AWS. Vous pouvez également déboguer. Génial.
Il peut y avoir une erreur car il n'y a pas de chemin pour le système lib de cuda. Dans ce cas, définissez ce qui suit dans Variable d'environnement dans les configurations d'exécution.
LD_LIBRARY_PATH /usr/local/cuda/lib64:$LD_LIBRARY_PATH
Je ne sais pas exactement, mais cela semble provoquer une erreur si Xcode ne peut pas être utilisé sur le serveur. Par conséquent, des travaux sont nécessaires pour terminer avec Xcode local.
ssh -Y username@ipaddress
Avec la connexion de 2.1, vérifiez le contenu de DISPLAY avec la commande suivante.
echo $DISPLAY
> localhost:10.0
DISPLAY localhost:10.0
Exécutez le débogage avec pycharm avec la connexion de 4.1. D'ACCORD.
Si vous vous connectez depuis le local avec ce qui suit, spécifiez le port à utiliser sur le serveur comme 9999 et connectez-vous au navigateur local avec localhost: 8888, l'accès sera transféré vers 9999 et affiché. ..
ssh -L 8888:localhost:9999 user@pablic_ip
Recommended Posts