Illustration Python par Walker Cahall
Présentation
CentOS est une distribution Linux populaire car elle est gratuite sans avoir besoin d'une licence et parce que les pratiques de gel des fonctionnalités appliquées pendant le cycle de publication garantissent une stabilité à long terme.
Le prix de la stabilité est que le système d'exploitation est livré avec certaines bibliothèques qui sont assez obsolètes. C'est le cas de Python, que l'on retrouve dans les distributions CentOS aux versions 2.6 ou même inférieures. Si les développeurs ont besoin d'une version supérieure de Python, ils doivent la compiler et l'installer eux-mêmes.
Cependant, il est important de laisser intact le Python déjà installé. Le système d'exploitation l'exige pour un usage interne, comme pour le gestionnaire de paquets yum. La chose la plus courante qui peut mal tourner est qu'un développeur, en essayant d'installer la nouvelle version de Python, parvient à corrompre le système (juste Google pour "l'installation de Python 2.7 sur CentOS a cassé mon miam").
Pour cette raison, il est logique d'utiliser un outil existant qui gère les installations Python sans altérer le système Python installé sur /usr/bin/python
, et installe la nouvelle version côte à côte avec l'ancienne. Un outil relativement nouveau mais déjà largement utilisé pour gérer les installations Python est Anaconda de Continuum.io, qui facilite la construction de Python.
Prérequis
– Un serveur mis à jour exécutant CentOS 7.1 ou 6.7. Si vous n'avez pas de serveur CentOS ou si vous souhaitez le tester, vous pouvez créer un serveur privé virtuel à partir d'Atlantic.net en quelques secondes.
– wget et bzip2 installés. Vous pouvez les installer avec yum install wget bzip2
Installer Python sur CentOS 7.1 ou 6.7
Nous devons d'abord choisir un répertoire dans lequel les nouveaux binaires Python seront installés. Dans ce tutoriel, nous utiliserons /usr/local/miniconda
. Nous pouvons installer Python 2.7 en utilisant le programme d'installation de Miniconda bash et en installant dans le répertoire ci-dessus.
Téléchargez le script d'installation avec la commande suivante :
wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh
Exécutez le script d'installation avec la commande suivante :(vous pouvez ou non avoir besoin de sudo en fonction des paramètres d'accès aux fichiers du répertoire cible)
sh Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda
Ces commandes installeront la dernière version de Miniconda pour les versions 64 bits de Linux. Pour d'autres versions spécifiques, consultez le référentiel Miniconda.
Ajouter Python 2.7 au PATH
S'il est souhaitable que nous lancions la version Python nouvellement installée lors de la saisie de python
dans le shell, nous devons ajouter une ligne d'exportation au ~/.bashrc
fichier de tous les utilisateurs qui ont besoin de ce comportement (par exemple, l'utilisateur sous lequel notre serveur Web s'exécute).
export PATH=/usr/local/miniconda/bin:$PATH
Après avoir modifié le .bashrc
fichier, exécutez ce qui suit pour que les modifications prennent effet immédiatement.
source ~/.bashrc
Les utilisateurs qui n'ont pas cela dans leurs profils appelleront le système Python à la place. Yum appellera toujours le système Python car le chemin /usr/bin/python
est codé en dur dans son code source. Donc, à moins que nous essayions de créer un lien symbolique vers ce chemin ou de remplacer le binaire, le gestionnaire de paquets continuera à fonctionner correctement.
Créer des alias
Si nous ne voulons pas remplacer le python
commande, nous pouvons également créer des alias dans .bashrc
pour 'python2.7' et 'python2.6' (si votre .bashrc
pointe vers .bash_aliases
, vous pouvez y ajouter les alias à la place). Cette méthode nous demandera de dire explicitement quelle version nous voulons utiliser à chaque fois.
alias python2.7="/usr/local/miniconda/bin/python" alias python2.6="/usr/bin/python"
Installer le pip
Si notre serveur héberge une application django, il est probable que nous devions également installer pip pour gérer nos packages. L'objectif est que pip installe les nouveaux packages pour Python2.7 installés dans /usr/local/miniconda
et non pour le système Python. Il est possible de le faire avec une seule ligne (en supposant que nous avons ajouté python 2.7 dans le chemin de la section précédente).
conda install pip
Pour vérifier que cela a fonctionné :
which pip [output] /usr/local/miniconda/bin/pip
Quelle est la prochaine ?
Félicitations pour l'installation de Python 2.7 sur CentOS, et nous vous remercions d'avoir suivi ce tutoriel ! Veuillez revenir ici pour plus de mises à jour et pour en savoir plus sur nos solutions d'hébergement VPS.