Présentation et Mise en place de l’environnement de développement

Fiche d’activité

Objectifs

À l’issue de cette activité, vous devez être capable de …​ :

  • installer Miniconda c.-à-d. l’environnement minimal de développement de la distribution Python nommée Anaconda

  • créer et manipuler des environnements virtuels de développement Python

  • installer des paquets Python

  • saisir et exécuter du code Python dans un notebook Jupyter

Compétences du référentiel abordées
Domaine Compétence

C4. Réaliser

  • C4.3: installer et configurer une chaîne de développement

  • C4.4: développer un module logiciel

  • C4.5: tester et valider un module logiciel

Savoirs du référentiel abordés
Savoir Description:

S4 Développement logiciel

  • S4.1 Principes de base

  • S4.2 Algorithmique

  • S4.7 Langages de programmation

Conditions

  • Durée : 1h

  • Travail individuel

  • Compte rendu : <néant>

Ressources

Matériel(s) :
  • PC Windows 10 64bits

Logiciel(s) :
  • Installateur Miniconda

Documentation :

Présentation générale du langage

🖮 Travail n° 1 Survol du langage

La connaissance du langage Python n’est pas requise pour cette activité qui est guidée.

Néanmoins, pour avoir une vue d’ensemble du langage, survoler (durée : 15 minutes max.) les 2 premiers tutoriels donnés en lien dans Tutoriels généraux sur le langage Python.

Environnement de développement

Généralités

Avant d’installer Python sur sa machine, on doit se poser 3 questions :

  1. Quelle version ?

    → Étant donné que la force de Python repose en partie sur la multitude de bibliothèques tierces proposées et que le langage est en perpétuelle évolution, il peut être plus prudent de ne pas choisir la toute dernière version de l’interpréteur Python de façon à s’assurer qu’il soit compatible avec les bibliothèques nécessaires au projet qu’on souhaite développer.

    Par exemple, même si c’est plus rare aujourd’hui, certaines bibliothèques ne sont compatibles qu’avec la version 2.x de Python alors que sa version 3 est disponible depuis 2008 (cette version a effectivement “cassé” la compatibilité avec les versions antérieures suite à de profonds changements)

  2. Quelle architecture (32 ou 64 bits) ?

    → La version 64 bits est bien sûr plus performante que la 32 bits sur un système d’exploitation 64 bits. Cependant, comme Python est parfois utilisé en tant que langage de script intégré par certains logiciels (ex.: éditeur de texte Vim), sa version devra donc correspondre à l’architecture adopté par le logiciel en question. Cependant, il est tout à fait autorisé d’avoir plusieurs versions de Python installées sur la machine et il n’est d’ailleurs pas rare qu’un logiciel nécessitant Python dans une version particulière l’intègre dans son installateur (ex. : FreeCAD - logiciel de modélisation 3D).

  3. Quelle distribution ?

    → Tout comme le système d’exploitation Linux, il existe plusieurs distributions de Python basées sur l’implémentation standard de la Python Software Fundation (→ CPython).

    L’installation de la version standard link suffit la plupart du temps lorsqu’on désire apprendre le langage Python. Cependant d’autres distributions (Anaconda, ActivePython, Enthougth’s, WinPython …​) offrent, dès l’installation, des fonctionnalités supplémentaires intéressantes dans un contexte professionnel.

Dans la suite, on utilisera la distribution Miniconda link dans son édition Windows 64 bits

Miniconda

Miniconda se définit sur son site comme un installateur minimal gratuit pour le gestionnaire de paquets et d’environnements virtuels nommé conda. Si on omet la fonctionnalité de gestion d’environnements virtuels (voir plus loin), conda peut être assimilé aux gestionnaires de paquets rpm ou apt sur Linux, homebrew sur Mac, chocolatey sur Windows.

Miniconda est une version minimale d’une autre distribution Python bien connue appelée Anaconda. À ce titre, elle n’inclut que l’outil d’administration conda, l’interpréteur Python, les paquets dont ils dépendent et enfin un nombre restreint de paquets utiles, comme pip, zlib et quelques autres (à la différence d'Anaconda qui installe par défaut environ 250 paquets et qui occupe près de 3Go sur le disque dur !).

conda miniconda anaconda

Une fois Miniconda installé, il suffit d’utiliser la commande conda install pour installer les paquets supplémentaires dont on a vraiment besoin parmi la multitude de paquets que propose le dépôt officiel d'Anaconda link ainsi que le dépôt communautaire Conda Forge link.

Comme indiqué plus haut, conda permet, outre la fonctionnalité de gestionnaire de paquets, l’utilisation d’environnements virtuels Python.

L’objectif d’un environnement virtuel est de permettre d’isoler une version de Python et les bibliothèques utilisées dans le cadre d’un projet. Ainsi, on peut :

  • utiliser n’importe quelle version de Python pour un environnement spécifique sans avoir à se soucier des collisions avec une autre version de Python installée ailleurs

  • connaître exactement les noms et les versions des paquets requis pour exécuter notre code. Ceci, dans le cas où quelqu’un d’autre souhaiterait l’exécuter sur sa propre machine.

  • éviter d’inonder notre répertoire principal de paquets Python inutiles.

Quelques commandes utiles

conda create -n name python

ou

conda create --name name python

Crée un nouvel environnement nommé name possédant la dernière version de Python

conda create -n name python=2.7.18

Crée un nouvel environnement nommé name possédant la version 2.7.18 de Python

conda env list

Listes les environnement présents sur la machine

conda search package

Recherche le paquet package dans le “canal” standard (équivalent d’un dépôt)

conda install -c channel package=version

Installe dans l’environnement courant le paquet package dans sa version version depuis le “canal” channel

Ex. : conda install -c conda-forge notebook=6.3.0

conda list

Liste les paquets installés dans l’environnement courant

conda command --help

Affiche l’aide de la commande command de conda

Ex. : conda search --help

conda activate name

Active l’environnement nommé name

conda deactivate

Désactive l’environnement courant

conda deactivate

puis

conda remove -n name --all

Détruit l’environnement name après l’avoir désactivé si on se trouve actuellement dedans

Voir aussi :

🖮 Travail n° 2 Installation de Miniconda

  1. Taper anaconda dans la barre de recherche de Windows

  2. Si des entrées “Anaconda” similaires à ce qui est illustré ci-dessous apparaissent, c’est que Miniconda est déjà installé : passer à la suite de l’activité.

    is miniconda already installed

    Dans le cas contraire, poursuivre le travail

  3. Télécharger depuis le NAS, l’installateur de Miniconda (→ Miniconda3-py<version>-Windows-x86_64.exe)

  4. Exécuter l’installateur en tant qu’administrateur et procéder à l’installation conformément à ce qui est illustré ci-dessous

    install miniconda

Jupyter Notebook

Dans l’apprentissage de Python, il peut-être pratique de disposer d’un environnement de programmation interactif qui facilite la saisie et l’exécution à la volée d’instructions Python.

C’est justement ce que propose Jupyter Notebook installable depuis conda avec le paquet notebook.

Les Jupyter Notebooks sont des “cahiers numériques” qui — dans le même document — peuvent rassembler du texte, des images, des formules mathématiques et du code informatique exécutable. Ils sont manipulables interactivement dans un navigateur web.

notebook sample
Figure 1. Exemple de Jupyter Notebook

La procédure d’installation et d’exécution de Jupyter Notebook dans Miniconda est la suivante :

  1. Lancer un terminal conda en choisissant l’un de ceux proposés lorsqu’on tape Anaconda dans la barre de recherche de Windows (Powershell ou cmd)

  2. Créer et se positionner dans l’environnement dans lequel on désire installer Jupyter Notebook (→ ex. : conda activate -n env)

  3. Installer Jupyter Notebook avec conda install -c conda-forge notebook

  4. Exécuter Jupyter Notebook en tapant la commande jupyter notebook directement dans le terminal

  5. Depuis la page web qui s’affiche dans le navigateur (→ http://localhost:8888/ link), créer un nouveau notebook comme illustré ci-dessous :

    new notebook

On pourra ensuite se référer à :

  • Jupyter et ses notebooks link pour une prise en main rapide de Jupyter Notebook.

  • JUPYTER NOTEBOOK CHEAT SHEET pdf pour un aide-mémoire sur l’utilisation de Jupyter notebook

  • MyST cheat sheet link pour avoir une vue d’ensemble de la syntaxe MyST utilisée dans Jupyter Notebook pour mettre en forme les cellules de texte, y adjoindre des images …​

    MyST (pour Markedly Structured Text) est une variante de la syntaxe Markdown.

🖮 Travail n° 3 Notebook Jupyter

  1. Depuis l’environnement de base de conda, créer un environnement virtuel nommé jupyter-learn-env disposant de la dernière version de Python et y installer Jupyter Notebook comme expliqué ci-dessus

    Solution
    conda create -n jupyter-learn-env python
    conda activate jupyter-learn-env
    conda install -c conda-forge notebook
  2. Exécuter Jupyter Notebook

  3. Nommer le notebook “test-jupyter”

  4. Saisir et exécuter les instructions Python figurant dans le screenshot suivant pour vérifier que tout fonctionne

    test jupyter
  5. Appeler l’enseignant pour lui faire une démonstration d’utilisation du notebook Jupyter

  6. Quitter Jupyter Notebook en appuyant sur le bouton Quit présent sur la page d’accueil

  7. Supprimer le fichier correspondant au notebook “test-jupyter”.

    Celui-ci porte l’extension .ipynb et est situé par défaut dans votre répertoire utilisateur (→ c:\users\%USERNAME%\test-jupyter.ipynb).

🞄  🞄  🞄