web-dev-qa-db-fra.com

interpréteur pycharm ssh Aucun fichier ou répertoire de ce type

J'utilise un macbook pro 15 en tant qu'ordinateur local et je dispose d'un serveur distant exécutant Ubuntu 14.04. 

Je veux utiliser l'intégrateur distant pour exécuter tout le calcul mais je veux écrire le code à partir de ma machine locale. 

Lorsque j'essaie d'exécuter un simple fichier avec pycharm, le message d'erreur suivant s'affiche:

ssh://[email protected]:22/usr/bin/python3 -u /Users/donbeo/Documents/phd_code/prova.py
bash: line 0: cd: /Users/donbeo/Documents/phd_code: No such file or directory
/usr/bin/python3: can't open file '/Users/donbeo/Documents/phd_code/prova.py': [Errno 2] No such file or directory

Process finished with exit code 2

J'ai vu peu de personnes signaler le même problème mais je n'ai pas trouvé de réponse satisfaisante jusqu'à présent. La plupart des questions font en effet référence à des versions plus anciennes de pycharm.

Il est clair que le fichier ne se trouve pas sur ma machine distante, car je l’ai créé avec pycharm sur mon ordinateur local. Je m'attendais à ce que pycharm effectue une sorte de synchronisation entre la machine locale et la machine distante.

14
Donbeo

Pour exécuter votre code sur une machine distante, vous devrez effectuer quelques étapes.

Définir un interprète à distance pour votre projet

  1. Allez dans Fichier -> Paramètres -> Projet: {nom_projet} -> Interprète de projet.
  2. Cliquez sur l'icône Cog et sélectionnez Ajouter une télécommande.
  3. Ajoutez vos identifiants d’hôte SSH et le chemin de l’interprète (sur la machine distante).
  4. Par conséquent, vous devriez voir apparaître une nouvelle position dans le sélecteur déroulant de l’interprète de projet, orthographiée comme suit: Python Version (ssh://login@Host:port/path/to/interpreter). La liste de paquets doit être renseignée avec des enregistrements.

Définir les paramètres de déploiement

  1. Allez dans Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Déploiement
  2. Créez de nouveaux paramètres de déploiement et remplissez la configuration de l'hôte ssh
    • Type: SFTP
    • Hôte SFTP: identique à l'hôte interprète
    • Chemin racine: chemin où les fichiers seront téléchargés
  3. Cliquez sur le bouton "Tester la connexion SFTP" pour vérifier si les données fournies sont correctes.
  4. Accédez aux mappages et configurez le mappage entre le chemin local et le chemin de déploiement. Le chemin de déploiement est relatif au chemin racine - / est équivalent à /my/root/path, /dir à /my/root/path/dir etc.

Déployez votre code

  1. Sélectionnez Outils -> Déploiement -> Télécharger vers {nom des paramètres de déploiement}.
  2. Le processus de téléchargement sera lancé en arrière-plan. Attendez que le téléchargement soit terminé.

Exécutez votre code

  1. Faites un clic droit sur le fichier que vous souhaitez exécuter et sélectionnez "Exécuter". Le code doit être exécuté sur une machine distante.
25
Łukasz Rogalski

Assurez-vous que votre interprète est choisi commeSSHqui doit être compilé, pasSTFPqui est destiné au déploiement.

 enter image description here

0
snr

Cela peut être causé par l’un des problèmes suivants:

1. Vous n'avez pas déployé votre code sur le serveur distant.

  • Assurez-vous que l'édition récente de votre code est déployée sur le serveur. Vous pouvez toujours déployer votre code depuis Outils -> Déploiement -> Télécharger vers ..., ou en utilisant Ctrl + Maj + Alt + x.
  • Pour définir le chemin de déploiement, sélectionnez Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Déploiement, puis entrez les détails d'un serveur distant en tant que votre machine à déployer.
  • Dans l'onglet Mappages, assurez-vous que le chemin de déploiement est défini quelque part sur le serveur sur lequel vous êtes autorisé à lire et à modifier des fichiers.

2. Vous n'êtes pas autorisé à lire et à modifier les fichiers sur votre chemin de déploiement sur le serveur distant.

  • Revenez dans Fichier -> Paramètres -> Créer, Exécution, Déploiement -> Déploiement et modifier le chemin de déploiement dans l'onglet Mappages.
0