Installation de Python 2.7 sur Linux Centos 6.7

Suivez cette séquence exactement uniquement pour Linux Centos. CentOS 6.7 est livré avec Python 2.6.6 par défaut et dépend de cette version spécifique. Attention à ne pas le remplacer sinon de mauvaises choses peuvent se produire. Si vous avez besoin d’accéder à une nouvelle version de Python, vous devez la compiler vous-même et l’installer côte à côte avec la version originale de Python 2.6.6 du système Centos 6.7. Voici les étapes nécessaires pour installer Python 2.7.6. Exécutez toutes les commandes ci-dessous en tant que root. Connectez-vous temporairement en tant que root ou utilisez sudo.

Vérifier la version centos:

cat /etc/redhat-release
CentOS release 6.7 (Final)

Installer les outils de développement:

Pour compiler Python, vous devez d’abord installer les outils de développement
sudo yum groupinstall "Development tools"
Vous devez également installer quelques librairies supplémentaires avant de compiler Python sinon vous rencontrerez des problèmes plus tard en essayant d’installer différents paquets:
sudo yum install zlib-devel
sudo yum install bzip2-devel
sudo yum install openssl-devel
sudo yum install ncurses-devel
sudo yum install sqlite-devel
Téléchargez, compilez et installez Python L’option –no-check-certificate est optionnel
cd /opt
sudo wget --no-check-certificate
https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
sudo tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
sudo ./configure --prefix=/usr/local
sudo make  install; sudo make altinstall
Il est important d’utiliser la commande altinstall au lieu de install, sinon vous allez vous retrouver avec deux versions différentes de Python dans le système de fichiers, tous deux nommés python. (Selon votre version de la commande wget, vous devrez peut-être ajouter l’option –no-check-certificate dans la ligne de commande de wget .) Après avoir exécuté les commandes ci-dessus, votre interpréteur Python 2.7.6 nouvellement installé sera disponible dans /usr/local/bin/ avec le nom /usr/local/bin/python2.7 et la version système de Python 2.6.6 sera disponible avec comme nom /usr/bin/python et /usr/bin/python2.6.

Ajoutez aussi que certaines bibliothèques python (telles que Theano) nécessitent une bibliothèque dynamique:

sudo ./configure –enable-shared –prefix=/usr/local  
LDFLAGS="-Wl,–rpath=/usr/local/lib"
Si vous obtenez l’erreur ci-dessous:
configure: WARNING: you should use –build, –host, –target
configure: WARNING: invalid host type: –enable-shared
configure: error: invalid variable name: `–prefix’
Essayer la commande:
sudo ./configure --enable-shared
            --prefix=/usr/local
            LDFLAGS="-R /usr/local/lib"

Verifiez avec:

ls -ltr /usr/bin/python*
-rwxr-xr-x 2 root root 4864 23 juil. 16:23 /usr/bin/python2.6 -rwxr-xr-x 2 root root 4864 23 juil. 16:23 /usr/bin/python lrwxrwxrwx 1 root root 6 16 août 17:26 /usr/bin/python2 -> python
ls -ltr /usr/local/bin/python*
-rwxr-xr-x 1 root root 6214485 24 oct. 12:18 /usr/local/bin/python2.7 -rwxr-xr-x 1 root root 1674 24 oct. 12:19 /usr/local/bin/python2.7-config

Si les choses ne vont pas bien, vous devrez peut-être créer un lien symbolique dans /usr/local/bin:

cd /usr/local/bin
ls -ltr python*
ATTENTION: Ne le faites pas avant de vérifier le chemin $PATH pour root. S’il y’a /usr /local/bin avant /usr/bin, il verra python2.7 en premier.
echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin Si vous ajoutez ce lien, executez la commande « which python » pour l’utilisateur, exemple hduser et pour root. Si root pointe vers le chemin /usr/local/bin/python, supprimez le lien que vous venez d’ajouter et trouvez autre chose.
sudo ln -s /usr/local/bin/python2.7 /usr/local/bin/python
which python
python
sudo su - hduser
python

Installation et configuration de la distribution (setuptools):

Après avoir installé Python 2.7.6, vous devez également installer la distribution (setuptools) pour pouvoir installer facilement de nouveaux packages au bon endroit.
sudo wget https://bootstrap.pypa.io/ez_setup.py
sudo /usr/local/bin/python2.7 ez_setup.py
sudo /usr/local/bin/easy_install-2.7 pip
Les commandes ci-dessus vont générer le script /usr/local/bin/easy_install-2.7. Utilisez ce script pour installer des packages pour votre nouvelle version de Python. Vous devriez pouvoir utiliser « easy_install » s’il pointe vers les versions 2.7 correctes. Si cette méthode pour installer le setuptools ne fonctionne pas, vous pouvez suivre le lien:  https://github.com/pypa/setuptools. Je saute entre deux installations différentes, désolé, faire attention à /usr/local/bin vs /usr/bin.
which pip
which easy_install
ls -ltr /usr/local/bin/easy_install*
sudo /usr/local/bin/easy_install-2.7 requests
sudo /usr/local/bin/easy_install-2.7 psutil
sudo /usr/local/bin/easy_install-2.7 paramiko
J’ai dû renommer pip et easy_install dans /user/local/bin et créer des liens. Les premières existantes étaient deux versions variantes de 2.6. Vérifiez d’abord si pip et easy_install agissent bien après l’installation. Sur ce système ils étaient:
cd /usr/local/bin
ls -ltr pip*
Je pense que si root utilise pip ou easy_install, il s’installera dans python 2.7, et non pas python 2.6 peut-être que ce n’est pas grave. Sur ce système, c’est parce que /usr/local/bin vient avant /usr/bin.
which pip
which easy_install
pip --version
easy_install --version
pip2.7 --version
Corriger le chemin $PATH rendrait cela correct, puisque la version python 2.6 s’excecute correctement avec /usr/bin. Dans tous les cas, si cela ne pose pas de problème à cause de $PATH de root ou des utilisateurs, vous pouvez le faire:
cd /usr/local/bin
sudo mv pip pip2.6
sudo mv easy_install easy_install-2.6
sudo ln -s pip2.7 pip
sudo ln -s easy_install-2.7 easy_install
cd /usr/local/bin
ls -ltr /usr/local/bin
cd /usr/bin
sudo ln -s /usr/local/bin/pip2.7 pip
sudo ln -s /usr/local/bin/easy_install-2.7 easy_install
ls -ltr /usr/bin/pip
ls -ltr /usr/bin/easy_install
ls -ltr /usr/bin/easy_install
Ouf, vous venez d’installer python 2.7 sur linux centos 6.7.

Laisser un commentaire

Fermer le menu
×
×

Panier