Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Didacticiel : Configuration de PyCharm Professional avec un point de terminaison de développement
Ce didacticiel vous montre comment connecter l'environnement IDE Python PyCharm Professional
Pour vous connecter à un point de terminaison de développement de façon interactive, PyCharm Professional doit être installé. Vous ne pouvez pas le faire avec la version gratuite.
Note
Le didacticiel utilise Amazon S3 comme source de données. Si vous souhaitez utiliser une source de données JDBC à la place, vous devez exécuter votre point de terminaison de développement dans un cloud privé virtuel (VPC). Pour vous connecter avec SSH à un point de terminaison de développement dans un VPC, vous devez créer un tunnel SSH. Ce didacticiel ne contient pas d'instructions pour la création d'un tunnel SSH. Pour plus d'informations sur l'utilisation de SSH pour la connexion à un point de terminaison de développement dans un VPC, consultez Securely Connect to Linux Instances Running in a Private Amazon VPC
Rubriques
Connexion de PyCharm Professional à un point de terminaison de développement
-
Créez un nouveau projet Python pur dans PyCharm, nommé
legislators. -
Créez un fichier nommé
get_person_schema.pydans le projet avec le contenu suivant :from pyspark.context import SparkContext from awsglue.context import GlueContext def main(): # Create a Glue context glueContext = GlueContext(SparkContext.getOrCreate()) # Create a DynamicFrame using the 'persons_json' table persons_DyF = glueContext.create_dynamic_frame.from_catalog(database="legislators", table_name="persons_json") # Print out information about this data print("Count: ", persons_DyF.count()) persons_DyF.printSchema() if __name__ == "__main__": main() -
Effectuez l’une des actions suivantes :
-
Pour la version 0.9 de AWS Glue, téléchargez le fichier de bibliothèque Python AWS Glue,
PyGlue.zipà l'adressehttps://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl/python/PyGlue.zip, vers un emplacement approprié sur votre ordinateur local. -
Pour les versions 1.0 et ultérieures de AWS Glue, téléchargez le fichier de bibliothèque Python AWS Glue,
PyGlue.zipà l'adressehttps://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl-1.0/python/PyGlue.zip, vers un emplacement approprié sur votre ordinateur local.
-
-
Ajoutez
PyGlue.zipen tant que contenu racine pour votre projet dans PyCharm :-
Dans PyCharm, choisissez File (Fichier), Settings (Paramètres) pour ouvrir la boîte de Settings (Paramètres). (Vous pouvez également appuyer sur
Ctrl+Alt+S.) -
Développez le projet
legislatorset choisissez Project Structure (Structure du projet). Ensuite, dans le panneau droit, sélectionnez + Add Content Root (+ Ajouter le contenu racine). -
Accédez à l'emplacement où vous avez enregistré
PyGlue.zip, sélectionnez-le, puis choisissez Apply (Appliquer).
L'écran Settings (Paramètres) doit ressembler à ceci :
Laissez la boîte de dialogue Settings (Paramètres) ouverte après avoir choisi Apply (Appliquer).
-
-
Configurez les options de déploiement pour charger le script local sur votre point de terminaison de développement à l'aide de SFTP (cette fonctionnalité est disponible uniquement dans PyCharm Professional) :
-
Dans la boîte de dialogue Settings (Paramètres), développez la section Build, Execution, Deployment (Création, exécution, déploiement). Choisissez la sous-section Deployment (Déploiement).
-
Sélectionnez l'icône + en haut du panneau central pour ajouter un nouveau serveur. Définissez Type sur
SFTPet donnez-lui un nom. -
Définissez SFTP host (Hôte SFTP) sur l'adresse publique de votre point de terminaison de développement, comme indiqué sur sa page de détails. (Choisissez le nom de votre point de terminaison de développement dans la console AWS Glue pour afficher la page de détails). Pour un point de terminaison de développement s'exécutant dans un VPC, définissez SFTP host (Hôte SFTP) sur l'adresse hôte et le port local de votre tunnel SSH sur le point de terminaison de développement.
-
Définissez le champ User name (Nom d'utilisateur) sur
glue. -
Définissez le champ Auth type (Type d'autorisation) sur Key pair (OpenSSH or Putty) (Paire de clés (OpenSSH ou Putty)). Définissez le champ Private key file (Fichier de clé privée) en accédant à l'emplacement du fichier de clé privée de votre point de terminaison de développement. Notez que PyCharm prend uniquement en charge les types de clés DSA, RSA et ECDSA OpenSSH, et n'accepte pas les clés au format privé Putty. Vous pouvez utiliser une version actualisée de
ssh-keygenpour générer un type de paire de clés que PyCharm accepte, à l'aide d'une syntaxe telle que la suivante :ssh-keygen -t rsa -f<key_file_name>-C "<your_email_address>" -
Choisissez Test connection (Tester la connexion) et autorisez le test de la connexion. Si la connexion est établie, choisissez Apply (Appliquer).
L'écran Settings (Paramètres) doit désormais ressembler à ceci :
Laissez à nouveau la boîte de dialogue Settings (Paramètres) ouverte après avoir choisi Apply (Appliquer).
-
-
Mappez le répertoire local à un répertoire distant pour le déploiement :
-
Dans le panneau de droite de la page Deployment (Déploiement), sélectionnez l'onglet central en haut, intitulé Mappings (Mappages).
-
Dans la colonne Deployment Path (Chemin d'accès du déploiement), saisissez un chemin sous
/home/glue/scripts/pour le déploiement du chemin de votre projet. Par exemple :/home/glue/scripts/legislators. -
Choisissez Appliquer.
L'écran Settings (Paramètres) doit désormais ressembler à ceci :
Choisissez OK pour fermer la boîte de dialogue Settings (Paramètres).
-
Déploiement du script sur votre point de terminaison de développement
-
Choisissez Tools (Outils), Deployment (Déploiement), puis choisissez le nom sous lequel vous configurez votre point de terminaison de développement, comme illustré dans l'image suivante :
Une fois que votre script a été déployé, le bas de l'écran doit ressembler à ce qui suit :
-
Dans la barre de menus, choisissez Tools (Outils), Deployment (Déploiement), Automatic Upload (always) [Téléchargement automatique (toujours)]. Assurez-vous qu'une coche s'affiche en regard de Automatic Upload (always) [Téléchargement automatique (toujours)].
Lorsque cette option est activée, PyCharm télécharge automatiquement les fichiers modifiés sur le point de terminaison de développement.
Configuration d'un interpréteur distant
Configurez PyCharm pour utiliser l'interpréteur Python sur le point de terminaison de développement.
-
Dans le menu File (Fichier), choisissez Settings (Paramètres).
-
Développez les législateurs du projet et choisissez Project Interpreter (Interpréteur de projet).
-
Choisissez l'icône représentant un engrenage en regard de la liste Project Interpreter (Interpréteur de projet), puis choisissez Add (Ajouter).
-
Dans la boîte de dialogue Add Python Interpreter (Ajouter un interpréteur Python) dans le panneau gauche, sélectionnez SSH Interpreter (Interpréteur SSH).
-
Choisissez Existing server configuration (Configuration du serveur existant), et, dans la liste Deployment configuration (Configuration du déploiement), choisissez votre configuration.
Votre écran doit ressembler à l’image suivante.
-
Choisissez Move this server to IDE settings (Déplacer ce serveur dans les paramètres IDE, puis choisissez Next (Suivant).
-
Dans le champ Interpreter (Interpréteur) modifiez le chemin d'accès en
/usr/bin/gluepythonsi vous utilisez Python 2, ou en/usr/bin/gluepython3si vous utilisez Python 3. Choisissez ensuite Finish (Terminer).
Exécution de votre script sur le point de terminaison de développement
Pour exécuter le script :
-
Dans le panneau gauche, cliquez avec le bouton droit sur le nom du fichier et sélectionnez Run (Exécuter) '
<nom_fichier>'.Après une série de messages, la sortie finale doit afficher le nombre et le schéma.
Count: 1961 root |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string Process finished with exit code 0
Vous êtes maintenant en mesure de déboguer votre script à distance sur votre point de terminaison de développement.