CentOS 6.x vient avec Python 2.6.6, si vous tentez une mise à jour comme ça par des paquets ou en compilant les sources sans faire attention vous risquez de tout péter, car Yum utilise python lui aussi, mais la 2.6.6.
Je précise que le tuto à la base est pour CentOS 6.3 et Python 2.7.3 et que moi j’ai testé Python 2.7.5 sur CentOS 6.5, je pense donc que c’est bon pour à peu près toutes les versions voisines.
L’astuce consiste à compiler la nouvelle version de Python et de l’installer en tant que version alternative sans désinstaller celle présente sur le serveur.
Les paquets nécessaires:
yum groupinstall "Development tools"
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel
On télécharge la version de Python à installer, pour ma part c’était Python 2.7.5 pour pouvoir utiliser opencv. Normalement les autres versions devraient passer aussi.
cd /opt
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 --no-check-certificate
tar xvf Python-2.7.5.tar.bz2
cd Python-2.7.5
./configure --prefix=/usr/local --enable-shared
make && make altinstall
ATTENTION! Deux choses à ne pas oublier:
–enable-shared: Certaines applications (comme opencv) ont besoin d’avoir accès à des librairies partagées d’autres applications, c’est le fameux fichier libpython2.7.so qui fait merder vos compilations 1 fois sur deux, si si rappelez-vous…
altinstall: ne pas utiliser install mais bien altinstall. install va écraser votre installation actuelle de python (2.6.6) et tout péter. altinstall va installer votre nouvelle version de python dans un autre répertoire.
Si tout s’est bien passé vous devriez avoir 2 versions de Python à présent.
La version système 2.6.6 et la version 2.7.x dans /usr/local/bin/python2.7.
Vous pouvez faire un lien symbolique pour mettre la 2.7.x par defaut:
ln -s /usr/local/bin/python2.7 /usr/local/bin/python
Verifions que tout est ok:
[pina@colada ~]# python
Python 2.7.5 (default, Feb 8 2014, 06:51:01)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Chez moi ça marche! Yeahhh baby!
Cadeau BONUX! Installation de easy_install et PIP:
Pour finir on va mettre en place le fameux PIP afin de pouvoir ultérieurement installer des apps.
cd /opt
wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.27.tar.gz
tar xf distribute-0.6.27.tar.gz --no-check-certificate
cd distribute-0.6.27
python2.7 setup.py install
Normallement vous devriez avoir un chemin easy_install version 2.7 pour votre nouvelle version Python2.7 du genre /usr/local/bin/easy_install-2.7
Faites un test:
[pina@colada ~]# ls -ltr /usr/local/bin/easy_install*
-rwxr-xr-x 1 root root 340 8 févr. 06:04 /usr/local/bin/easy_install-2.7
-rwxr-xr-x 1 root root 332 8 févr. 06:04 /usr/local/bin/easy_install
Installons PIP:
easy_install-2.7 pip
Et testons PIP:
pip install numpy
[pina@colada ~]# python
Python 2.7.5 (default, Feb 8 2014, 06:51:01)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.8.0'
>>>
Et c’est parti pour des heures de code afin de conquérir le monde !
La semaine prochaine nous verrons comment faire bouillir des lutins sans que la peau se décolle.
]]>