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 : Liens Python Pré-requis Bases sur la programmation 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 : 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) 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). 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 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 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 !). 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 ainsi que le dépôt communautaire Conda Forge . 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 : conda cheat sheet https://www.anaconda.com/blog/moving-conda-environments 🖮 Travail n° 2 Installation de Miniconda Taper anaconda dans la barre de recherche de Windows 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é. Dans le cas contraire, poursuivre le travail Télécharger depuis le NAS, l’installateur de Miniconda (→ Miniconda3-py<version>-Windows-x86_64.exe) Exécuter l’installateur en tant qu’administrateur et procéder à l’installation conformément à ce qui est illustré ci-dessous 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. Figure 1. Exemple de Jupyter Notebook La procédure d’installation et d’exécution de Jupyter Notebook dans Miniconda est la suivante : 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) Créer et se positionner dans l’environnement dans lequel on désire installer Jupyter Notebook (→ ex. : conda activate -n env) Installer Jupyter Notebook avec conda install -c conda-forge notebook Exécuter Jupyter Notebook en tapant la commande jupyter notebook directement dans le terminal Depuis la page web qui s’affiche dans le navigateur (→ http://localhost:8888/ ), créer un nouveau notebook comme illustré ci-dessous : On pourra ensuite se référer à : Jupyter et ses notebooks pour une prise en main rapide de Jupyter Notebook. JUPYTER NOTEBOOK CHEAT SHEET pour un aide-mémoire sur l’utilisation de Jupyter notebook MyST cheat sheet 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 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 Exécuter Jupyter Notebook Nommer le notebook “test-jupyter” Saisir et exécuter les instructions Python figurant dans le screenshot suivant pour vérifier que tout fonctionne Appeler l’enseignant pour lui faire une démonstration d’utilisation du notebook Jupyter Quitter Jupyter Notebook en appuyant sur le bouton Quit présent sur la page d’accueil 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). 🞄 🞄 🞄 SN1IR - Python Prise en main de Python