This is the practical cases for Python training I provide. Intended for french trainee, the rest of the explanations are in french.
Ce référentiel complète la formation que je propose et est donc destiné à mes stagiaires.
Ces sources sont organisées pour proposer des exemples de code sur les thèmes couverts par les formations de base Python. Elles respectent avec quelques adaptations l'organisation d'un package.
Le projet peut être dans l'arborescence que vous souhaitez sur votre disque.
Ce projet est un projet de formation. Sa structure ne suit donc pas la structure conventionnelle d'un projet Python. L'organisation des répertoires est la suivante :
- assets : contient des fichiers qui seront nécessaires pour le parcours et la manipulation de fichiers.
- demos : est un package contenant des fichiers de démonstration et d'illustration. Ce package contient également des exemples Tkinter.
- exos : est votre répertoire de travail. Il est destiné à contenir le code que vous allez produire durant la formation et vous permettre de le retrouver dans cet emplacement unique.
Voici les étapes à suivre pour préparer l'environnement. Ces étapes ne prennent pas en compte l'IDE. Vous trouverez le détail à la suite.
- Assurez vous de disposer d'une version de Python suppérieure ou égale à la 3.10 accessible dans le path.
- Créez et activez un environnement virtuel si besoin en suivant la documentation de venv.
- Installez les dépendances par
pip install -r requirements.txt
. - Récupérez la dernière release au format wheel (extension
.whl
) du projet pyschool-lib - Installez cette dépendance avec une commande similaire
à
pip install pyschoollib-0.2.0-py3-none-any.whl
Vous êtes prêt à travailler.
Python doit être installé sur votre poste.
La formation est prévue pour une version de Python 3.10+ (les versions précédentes sont considérées comme obsolètes).
Python ainsi que les dépendances doivent être dans le PATH. Vous pouvez vérifier le bon fonctionnement dans un terminal/invite de commande par les instructions du type
python --version
pip --version
Python ne nécessite aucun IDE en particulier.
Les environnements conseillés sont PyCharm et Visual Studio Code.
PyCharm est un environnement dédié à Python, il intègre donc un certain nombre d'outils. PyCharm existe en version licenciée ou Community, cette dernière, gratuite et complète, convient amplement à la formation.
VS Code nécessite l'installation d'un plug-in pour la prise en charge de Python.
Un environnement virtuel permet d'isoler l'environnement du projet de votre environnement système. Il permet ainsi d'éviter les conflits de dépendance et facilite l'exécution des programmes Python indépendamment des versions de l'interpréteur.
Créer un environnement virtuel n'est pas indispensable dans le cadre de cette formation en particulier si vous utilisez une machine dédiée à la formation.
Si vous utilisez PyCharm, il vous proposera de créer automatiquement un environnement virtuel.
Si vous avez besoin d'information sur leur création et utilisation, vous pouvez consulter la documentation.
pip est le gestionnaire de dépendances qui va vous permettre d'installer les dépendances nécessaires à ce projet.
Attention : pip
utilise des ports dédiés pour communiquer avec les
dépôts. Si vous êtes derrière un Firewall, il sera nécessaire de lui
communiquer le proxy.
Vous pouvez installer une dépendance spécifique avec l'instruction
pip install ipython
Cette commande permet d'installer la dépendance ipython
.
Les dépendances nécessaires au projet sont déclarées dans le fichier
requirements.txt
. Vous pouvez donc installer l'ensemble des dépendances avec
la commande :
pip install -r requirements.txt
Vous devez en plus installer une dépendance proposée par votre intervenant, bibliothèque qui fournit des fonctionalités pour les exercices.
Cette bibliothèque est le projet pyschool-lib. Allez
sur la page des releases, choisissez la
dernière et téléchargez le fichier .whl
. Il doit avoir un nom de la
forme pyschoollib-0.2.0-py3-none-any.whl
. Vous allez l'installer avec l'instruction
pip install pyschoollib-0.2.0-py3-none-any.whl
Votre environnement est alors prêt à l'emploi.
Certains fichiers ont l'extension .ipynb
. Il s'agit de documents de type
Jupyter Notebooks générés à l'aide de Jupyter. Pour
pouvoir les consulter, vous devez installer la dépendance Jupyter. Celle-ci est incluse dans
le fichier requirements-xtra.txt
, vous pouvez donc l'intaller avec la même instruction que
précédemment.
Pour accéder à ces documents, il faut lancer le serveur Jupyter par l'instruction :
jupyter notebook
Notez que le projet Jupyter évolue, cette évolution s'appelle JupyterLab. Cette dépendance est
différente et doit être installée à part. Cependant, elle est également déclarée dans le fichier
requirements-xtra.txt
.
Pour le lancer, vous devez exécuter :
jupyter-lab
Un projet Python est accompagné d'un fichier requirements.txt
déclarant les dépendances de
développement nécessaires au projet.
Les dépendances dans ce fichier sont les suivantes :
- ipython : il s'agit d'un shell intéractif avancé préféré au shell intéractif standard.
- Pytest : utilisé pour la partie tests unitaires
- Pytz : utilisé pour la gestion des TimeZone des dates
- flake8 : outil de validation statique de code
- pylint : outil d'analyse statique de code
Un fichier requirements-xtra.py
contient les dépendances optionnelles. Notez que celles-ci
peuvent être volumineuses (donc prendront du temps et de l'espace disque).
- jupyter-lab : est l'évolution du projet Jupyter. Il sera utilisé pour ses notebooks,
documents d'illustration. Cette dépendance installera également le shell intéractif
avancé
ipython
. - rich : bibliothèque destinée à un affichage de texte riche, c'est à dire avec couleur et styles, ainsi que du contenu avancé comme des tableaux.
Les démos de ce projet contiennent également des exemples d'IHM avec PySide6. Les programmes de formation proposent en général une introduction aux interfaces graphiques avec TkInter mais il y a des demandes pour une bibliothèque plus aboutie. L'installation devra être faite manuellement, en particulier du fait de la taille (plus de 450Mo téléchargé pour plus de 1Go sur disque…)
- PySide6 : à installer avec
pip install PySide6
Durant la formation, des ressources complémentaires peuvent être disponibles sur le partage suivant
Les exercices sont disponibles sur le wiki du projet.