PyCharm

Pycharm est un environnement complet qui permet le développement de projets Python.

Notions

Les modules

Le code python peut être sauvegardé dans des modules. Un module est un objet chargé dans l’interpréteur à partir d’un fichier texte. L’extension du fichier est habituellement .py

L’importation de module s’effectue par la directive import, l’importation d’un module s’effectue tout d’abord en recherchant dans le répertoire courant, puis dans les répertoires spécifiées dans le PYTHONPATH et enfin dans le répertoire d’installation de Python.

Différentes façons d’importer

import module
from module import element1, element2...
from module import element1 as elem1

Les paquets

Les paquets (package) constituent un deuxième niveau d’organisation, il s’agit de répertoires contenant des modules. Un répertoire est considéré comme un paquet si il contient un fichier __init__.py

Conventions de nommage

  • Modules et paquets: mots courts, tout en minuscules avec des « soulignés » pour séparateur.

  • Classes: règle « CapWord », i.e., des mots à la suite avec une majuscule pour chaque.

  • Variables et functions: mots courts, tout en minuscules avec des « soulignés » pour séparateur.

https://www.python.org/dev/peps/pep-0008/

  • Pour automatiser les contrôles d’écriture : black et flake8 (installation dans pycharm)

Installation

L’installation du plugin Pycharm s’éffectue depuis l’exécutable ou le package proposé sur le site internet.

Configuration

L’ensemble des configurations de Pycharm est accessible via: Window ‣ Preferences

Pycharm préférences

Configuration de l’interpréteur python

Commençons par préciser le chemin de l’interpréteur python: Window ‣ Preferences ‣ Project: session expert

Sélectionnez l’interpreteur, Pycharm s’occupe d’ajouter dans son path l’ensemble des librairies présentes dans l’installation du python.

Ecran de configuration du python path dans pycharm

Configuration de l’éditeur

Dans la fenêtre des préférences choisissez Window ‣ Preferences ‣ Editor

Dans l’onglet Code Style, assurez vous bien que les tabulations sont bien sur 4 cases.

De cette façon, lors de l’utilisation de la touche tabulation dans l’editeur, 4 espaces seront générés, ce qui est le standard Python.

Ecran de configuration de l'éditeur de Pycharm

Toujours dans la fenêtre des préférences, allez dans Window ‣ Preferences ‣ Editor ‣ File Encodings et assurez vous là encore que l’encodage proposé est bien « utf-8 ».

Création d’un nouveau projet

Dans la barre des menus aller dans File ‣ New Project

Ecran de configuration de l'éditeur de Pycharm

Dans cette fenêtre, précisez:

  • l’emplacement du dossier (qui fera le nom du projet);

  • l’interpréteur parmi ceux connus ou à retrouver via l’emplacement du binaire python.

Le fonctionnement interne de Pycharm nécessite de définir un dossier comme dossier des sources. Tout package ou module à l’intérieur de ce dossier sera ajouté automatiquement au PYTHON_PATH.

Si d’autres projets ont été créés il est possible de déclarer des projets référencés, i.e. des projets dépendants. Le chemin des projets dépendants sera alors ajoutés automatiquement au PYTHON_PATH.

Conclure en cliquant sur Create.

Le projet est maintenant présent dans le panneau Project.

Création d’un package

Nous allons maintenant créér un nouveau package (dossier dans l’espace de nommage python pour regrouper des modules).

Allez dans File ‣ New ‣Python Package. Précisez le nom du paquet.

Ecran de création d'un package

Concluez en cliquant sur le bouton Ok.

Pycharm a créé un dossier contenant le fichier __init__.py. Nous avons donc bien un package.

Panneau de navigation, présence du package créé

Création d’un module

Créons maintenant à l’intérieur de ce package un module python (python file).

Aller dans File ‣ New ‣ Python File.

Ecran de création d'un package

Précisez:

  • le nom du module;

  • le type (cas des fichiers pour les tests unitaires).

Ecran de création d'un package

Concluez en cliquant sur le bouton Ok.

Le module ainsi créé est visible dans le package.

Éléments graphiques de l’éditeur

Pour découvrir les fonctionnalités de Pycharm nous allons écrire la classe Acteur qui modélise un acteur. Un acteur possède un nom.

#coding: utf-8
__author__ = 'nicolasperrier'

class Acteur(object):
    """
    Pour creer des acteurs
    """
    def __init__(self,nom):
        """
        :param nom: chaine
        :return:
        """
        self.__nom = nom

    def get_nom_acteur(self):
        """recuperer le nom de l'acteur"""
        return self.__nom

    def set_nom_acteur(self,nouveau_nom):
        """ positionne le nom de l'acteur"""
        self.__nom = nouveau_nom


    def estMonJumeau(self, acteur):
        """ voir si on a le meme nom. Retourne vrai ou faux"""
        test1 = self.__nom == acteur.get_nom_acteur()
        return test1 

    def __eq__(self, acteur):
        """ compatibilite avec == du langage"""
        return self.estMonJumeau(acteur)

    def __str__(self):
        """

        :return:
        """
        return 'Acteur : {}'.format(self.__nom)


if __name__=='__main__':
    act1 = Acteur('Robert Deniro')
    act2 = Acteur('Nicolas Perrier')
    print(act1)
    print(act2)

    print(act1==act2)

L’écriture de cette classe aura permis de découvrir certaines fonctionnalités de l’éditeur.

  • Coloration syntaxique:La coloration syntaxique de l’éditeur est une des premières fonctionnalités à apporter dans un environnement de développement. Il est possible de modifier les couleurs utilisées dans les préférences de Pycharm Window ‣ Preferences ‣ Editor et modifiez les couleurs qui ne vous conviennent pas.

  • Indentation: L’éditeur facilite la position du curseur en ajoutant automatiquement les espaces nécessaires, après la définition d’une classe par exemple. Le code sélectionné peut facilement être indenté ou désindenté grâce aux touches Tab et Shift + Tab.

  • Gestion des commentaires: Il est parfois utile de commenter ou de décommenter toute une portion de code et rien n’est plus rébarbatif que d’ajouter ou supprimer le fameux # devant chaque ligne. Pycharm utilise une combinaison pour commenter/décommenter l’ensemble du code sélectionné.

  • Surbrillance des éléments jumelés: Plus connue sous la dénomination anglaise de matching brackets highlighting, elle permet par un moyen visuelle de repérer facilement le partenaire d’un élément jumelé. Dans l’éditeur de Pycharm l’élément jumelé, un crochet ouvrant par exemple, est encadré de bleu quand le curseur se trouve sur son élément fermant.

  • Correction syntaxique : Le souligné rouge signale toute erreur de syntaxe, le passage du curseur provoque l’apparition d’une infobulle dans laquelle l’erreur est expliquée.

Correction d'une erreur de syntaxe

Console python interactive

Pour lancer la console python interactive, cliquez sur l’onglet python console situé en bas de l’interface.

Ecran console python

La console python possède de nombreuses fonctionnalités (complétion de code, auto import…)

Exercice : Depuis cette console, créez votre premier acteur.

 >>> from acteur import Acteur
 >>> johnClesse = Acteur('John Cleese')
 >>> johnClesse.get_nom_acteur()
 'John Cleese'
 >>> johnClesse
'Acteur: John Cleese'

Utilisation du déboggeur

Le manuel sur Pycharm : http://confluence.jetbrains.com/display/PYH/Debugger

La première phase à effectuer est d’ajouter un breakpoint dans votre code.

Dans l’éditeur, choisissez la ligne de code où démarrer le debugger et simple cliquez à sa gauche. Le breakpoint est signalé visuellement par une petite boule rouge.

Créer un point d'arrêt

Lancez ensuite l’exécution de votre module en choisissant l’icône deboggeur.

Ecran du debugger