Comment installer Python de manière intelligente

Python est facile à utiliser, convivial pour les débutants et suffisamment puissant pour créer des logiciels robustes pour presque toutes les applications. Mais il s'agit toujours d'un logiciel comme les autres, ce qui signifie qu'il peut être complexe à configurer et à gérer.

Dans cet article, nous expliquerons comment configurer Python de la bonne manière: comment choisir la version appropriée, comment empêcher plusieurs versions de se marcher les unes sur les autres et comment éviter tous les autres arêtes vives et les pièges potentiels le long du façon.

Choisissez la bonne version et la bonne distribution de Python

Par souci de compatibilité avec les modules tiers, il est toujours plus sûr de choisir une version Python qui est une révision majeure derrière la version actuelle .

Au moment d'écrire ces lignes, Python 3.8.1 est la version la plus récente. La valeur sûre est donc d'utiliser la dernière mise à jour de Python 3.7 (dans ce cas, Python 3.7.6). Vous pouvez toujours essayer la version la plus récente de Python de manière contrôlée - par exemple, dans une VM ou une machine de test - mais le retour d'une version garantit la meilleure compatibilité avec les packages Python tiers courants.

Python est également disponible dans une variété de distributions, à peu près de la même manière que Linux. Contrairement à Linux, cependant, Python propose une édition «officielle», standard, sur laquelle vous pouvez toujours vous rabattre: CPython, la version fournie par la Python Software Foundation sur python.org. Encore une fois, il s'agit de la distribution la plus sûre et la plus largement compatible, celle dont personne n'est renvoyé pour avoir cueilli. (Vous voudrez peut-être étudier d'autres distributions Python plus tard, car elles traitent des cas d'utilisation spécifiques que vous pourriez avoir, mais nous ne les considérerons pas ici.)

Un choix clé que vous devrez faire, en particulier sous Windows, est d'utiliser la version 32 bits ou 64 bits de Python. La réponse la plus probable est 64 bits, pour les raisons suivantes:

  • La plupart des systèmes d'exploitation modernes utilisent une édition 64 bits de Python par défaut. Les utilisateurs de Windows peuvent exécuter des éditions 32 bits de Python sur Windows 64 bits, mais à un léger coût en termes de performances. 
  • Python 32 bits et les applications 32 bits en général ne peuvent accéder qu'à 4 Go de mémoire à la fois. Les applications 64 bits n'ont pas cette limite, par conséquent, de nombreux outils d'analyse de données et d'apprentissage automatique pour Python fonctionnent mieux dans les incarnations 64 bits. Certains ne sont disponibles que dans les versions 64 bits. 

Le seul moment où vous devriez choisir la version 32 bits de Python est si vous êtes coincé avec une version 32 bits de Windows ou si vous devez utiliser un module tiers disponible uniquement dans une édition 32 bits.

Installez Python sur Windows de manière intelligente

Python s'installe sur Windows de la même manière que toute autre application, via un programme d'installation qui vous guide tout au long du processus d'installation.

Par défaut, le programme d'installation Python pour Windows place ses exécutables dans le AppDatarépertoire de l'utilisateur , de sorte qu'il ne nécessite pas d'autorisations administratives. Si vous êtes le seul utilisateur du système, vous voudrez peut-être placer Python dans un répertoire de niveau supérieur (par exemple C:\Python3.7) pour le rendre plus facile à trouver. Le programme d'installation de Windows vous permet de spécifier le répertoire cible.

Choisissez le bon programme d'installation Python pour Windows

Python.org propose un certain nombre d'incarnations différentes de Python pour Windows. Outre les versions 32 bits («x86») et 64 bits («x86-64») déjà mentionnées, vous pouvez choisir parmi le fichier zip intégrable, le programme d'installation exécutable et le programme d'installation Web. Voici de quoi il s'agit:

  • Le programme d' installation exécutable est simplement un fichier .EXE qui exécute le processus de configuration de Python. Il s'agit du choix par défaut facile et le plus couramment utilisé.
  • Le programme d' installation basé sur le Web est le même que le programme d'installation exécutable, sauf qu'il télécharge séparément les bits nécessaires pour effectuer l'installation. Cela réduit considérablement la taille du programme d'installation réel, mais nécessite bien sûr une connexion réseau.
  • Le fichier zip intégrable est une copie minimale autonome du runtime Python qui tient dans un seul dossier sans dépendances. Il est utile de vous regrouper lorsque vous souhaitez distribuer une application Python manuellement ou lorsque vous avez besoin d'une installation Python rapide et unique pour tester quelque chose à la volée. Mais le zip intégrable n'inclut  pipni aucun des autres outils utiles fournis avec une installation complète, il est donc réservé à un usage expert.

Installez Python à l'aide d'un gestionnaire de packages pour Windows

Une autre option consiste à utiliser l'un des systèmes de gestion de packages qui existent pour Windows. NuGet, le gestionnaire de packages pour .NET, propose Python dans son référentiel. Cependant, Python y est fourni principalement dans le but de l'utiliser en tant que composant dans une application .NET, et non comme un moyen d'installer une instance autonome de Python pour une utilisation générale. Vous trouverez probablement votre instance Python plus facile à gérer si vous installez Python de la manière habituelle. 

Chocolatey, un système de gestion de paquets Windows plus général, propose également Python. Chocolatey est un moyen pratique d'exécuter le programme d'installation Python et de suivre la présence du moteur d'exécution du langage Python dans votre système - et donc un meilleur choix que NuGet. Cependant, il est préférable d'éviter de mélanger et de faire correspondre les installations Chocolatey et les installations régulières de Python sur le même système.

Installez Python sur Linux de manière intelligente

Étant donné que les distributions Linux diffèrent considérablement, la manière typique d'installer Python sur Linux consiste à utiliser le gestionnaire de packages de la distribution spécifique. Ubuntu et Fedora, par exemple, ont des procédures entièrement différentes pour installer Python. Sous Linux (et MacOS), le répertoire cible de l'installation est généralement prédéterminé et basé sur le numéro de version de Python, par exemple /usr/bin/python3.Xsur Linux ou /usr/local/opt/python/sur Mac.

Une façon d'éviter de gérer les subtilités des gestionnaires de packages Linux est d'utiliser un runtime Python conteneurisé. Les conteneurs s'exécutent isolés du reste du système, vous n'avez donc pas à vous soucier des différents environnements d'exécution Python qui se marient les uns sur les autres. Cependant, si votre flux de travail n'inclut pas déjà de conteneurs, vous devrez consacrer du temps et de l'énergie à vous familiariser avec Docker. (Notez que vous pouvez également utiliser Python conteneurisé sous Windows.)

Un outil nommé asdf-vm est également utile ici. Vous pouvez utiliser asdf-vm pour gérer plusieurs environnements d'exécution Python sur des systèmes de type Unix (Linux et MacOS) - et plusieurs environnements d'exécution pour Node.js, Ruby, Elixir et de nombreux autres langages. Donc, si vous vous retrouvez à jongler avec des versions d'autres choses que Python, vous voudrez vous pencher sur asdf-vm.

Installez Python sur MacOS de manière intelligente

MacOS est traditionnellement livré avec une version de Python installée, mais jamais plus récente que Python 2.7. Cela a créé des problèmes lorsque Python 3 est arrivé, car les deux versions étaient souvent en conflit. La documentation officielle de Python contient quelques notes à cet effet, mais ne fournit pas de recommandations plus détaillées que de vous assurer que vous utilisez le bon chemin pour l'instance Python souhaitée.

Un moyen courant de gérer les environnements d'exécution Python sur MacOS consiste à utiliser le gestionnaire de packages Homebrew. Homebrew fournit une interface cohérente pour le téléchargement, l'installation, la gestion et la suppression de Python et d'autres applications de ligne de commande tierces.

Installez les packages Python de manière intelligente

Une fois que vous avez configuré une installation de base d'une version de Python, ne commencez pas à installer des packages directement dessus avec pip - non, même si vous prévoyez d'utiliser Python pour un seul projet. Configurez vos répertoires de projet, installez-y des environnements virtuels Python, puis installez des packages dans ces environnements virtuels. De cette façon, l'installation de base reste propre.

Pour un moyen de haut niveau de gérer plusieurs projets avec des environnements virtuels et des dépendances, consultez le projet Poetry. Poetry fournit un outil de ligne de commande pour gérer les environnements virtuels et les dépendances à un niveau élevé.

Installer plusieurs versions de Python côte à côte

Le problème le plus difficile lorsqu'il s'agit d'installations Python est de savoir comment gérer différentes versions de Python installées côte à côte. Deux règles empiriques universelles s'appliquent ici:

  • Installez toujours chaque version dans un répertoire différent.
  • Assurez-vous que tous les chemins d'accès système sont configurés pour pointer d' abord vers la version que vous souhaitez exécuter par défaut.

L'exécution de plusieurs versions de Python plaide fortement en faveur des environnements virtuels par projet. Lorsque l'environnement virtuel est activé, toute l'activité Python dans le cadre du projet est automatiquement dirigée vers la bonne version de Python, 

Une autre option que les utilisateurs de Windows doivent contrôler quelle version de Python utiliser lorsque des multiples sont installés est l' pyapplication de lancement. Pendant l'installation de Python, vous avez la possibilité d'installer le pylanceur, un petit exécutable qui vous permet de sélectionner (via des indicateurs de ligne de commande) la version de Python à utiliser pour un script donné. Par exemple, pour exécuter pippour Python 3.7, vous devez entrer  py -3.7 -m pip.

Mettez à niveau Python de manière intelligente

Les mises à jour mineures de révision pour Python - par exemple, Python 3.7.2 vers Python 3.7.3 - sont généralement assez faciles. Sous Windows, le programme d'installation détecte la présence de la version existante et la met à niveau. Sous Linux et MacOS, le programme d'installation ou le gestionnaire de packages fait généralement la même chose.

Cependant, tous les environnements virtuels que vous avez créés devront également être mis à niveau; ils ne se mettent pas à jour automatiquement. Pour mettre à niveau Python dans un environnement virtuel, accédez simplement au répertoire de l'environnement virtuel et entrez  venv --upgrade. Encore une fois, notez que cela ne fonctionne mieux que pour les mises à niveau de révision mineures - comme Python 3.7.2 vers Python 3.7.3.

Si vous effectuez une mise à niveau de révision de point majeur, telle que Python 3.7 vers Python 3.8, votre meilleur pari est d'utiliser venvpour créer un nouveau sous-répertoire d'environnement virtuel séparé dans le répertoire du projet, réinstaller toutes les dépendances dans celui-ci et passer à l'utilisation du nouvel environnement virtuel. La plupart des IDE prenant en charge Python (par exemple, Microsoft Visual Studio Code) détecteront plusieurs environnements virtuels dans un projet et vous permettront de basculer entre eux.