J'ai un Shell qui exécute CentOS.
Pour un projet en cours, j'ai besoin de python 2.5+, mais centOS dépend assez de la version 2.4.
D'après ce que j'ai lu, un certain nombre de choses vont casser si vous passez à la version 2.5.
Je souhaite installer la version 2.5 séparément de la version 2.4, mais je ne sais pas comment faire. Jusqu'ici, j'ai téléchargé l'archive source, je l'ai décompressée et j'ai fait un ./configure --prefix=/opt
, c'est là que je veux que ça se termine. Puis-je maintenant juste make, make install
? Ou y a-t-il plus?
Vous pouvez aussi utiliser le répertoire EPEL-repository puis faire Sudo yum install python26
pour installer python 2.6
Essayez epel
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Sudo rpm -ivh epel-release-5-4.noarch.rpm
Sudo yum install python26
L'exécutable python sera disponible à /usr/bin/python26
mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence
Maintenant, la commande python
exécutera python 2.6
Lorsque j’ai rencontré des situations similaires, j’évite généralement le gestionnaire de paquets, surtout s’il serait embarrassant de casser quelque chose, c’est-à-dire un serveur de production. Au lieu de cela, je voudrais aller à Activestate et télécharger leur paquet binaire:
https://www.activestate.com/activepython/downloads/
Ceci est installé en exécutant un script qui place tout dans un dossier et ne touche aucun fichier système. En fait, vous n'avez même pas besoin d'autorisations root pour le configurer. Ensuite, je change le nom du binaire en quelque chose comme apy26, ajoute ce dossier à la fin du chemin PATH et commence à coder. Si vous installez des packages avec apy26 setup.py install
ou si vous utilisez virtualenv et easyinstall, vous disposez d'un environnement python aussi flexible que nécessaire sans toucher au python standard du système.
Modifications ... Récemment, j'ai travaillé à la création d'un binaire Python portable pour Linux qui devrait s'exécuter sur n'importe quelle distribution sans dépendance externe. Cela signifie que toutes les bibliothèques partagées binaires requises par le module portable Python font partie de la construction, incluses dans l'archive et installées dans la structure de répertoires privés de Python. De cette façon, vous pouvez installer Python pour votre application sans interférer avec le système Python installé.
Mon site github a un script de construction qui a été testé de manière approfondie sur Ubuntu Lucid 10.04 LTS pour les installations 32 et 64 bits. Je l’ai aussi construite sur Debian Etch mais c’était il ya un moment et je ne peux pas garantir que je n’ai pas changé quelque chose. La façon la plus simple de le faire est de simplement placer votre choix d’Ubuntu Lucid dans une machine virtuelle, d’extraire le script avec git clone git://github.com/wavetossed/pybuild.git
, puis de l’exécuter.
Une fois que vous l'avez construite, utilisez l'archive sur n'importe quelle distribution récente de Linux. Il y a une petite difficulté à le déplacer dans un répertoire autre que /data1/packages/python272
: vous devez exécuter la variable patchelf
incluse pour définir le chemin de l'interpréteur AVANT de déplacer le répertoire. Ceci affecte les fichiers binaires dans /data1/packages/python272/bin
Tout ceci est basé sur la construction avec RUNPATH et la copie des bibliothèques partagées dépendantes. Même si le script se trouve dans plusieurs fichiers, il s’agit en réalité d’un seul script Shell organisé dans le style des répertoires /etc/rc.d.
Pas besoin de faire miam ou de créer votre propre RPM. Construisez python26
à partir des sources.
wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install
Il peut y avoir une utilisation de dependency error
yum install gcc cc
Ajoutez le chemin d'installation (/usr/local/bin/python
par défaut) à ~/.bash_profile
.
Cela ne cassera pas yum
ni aucune autre chose dépendant de python24
.
Non c'est ça. Vous voudrez peut-être aussi vous assurer que tous les en-têtes de bibliothèque facultatifs sont installés afin de ne pas avoir à le recompiler plus tard. Ils sont énumérés dans la documentation, je pense.
En outre, vous pouvez l'installer même dans le chemin standard si vous faites make altinstall
. De cette façon, il ne remplacera pas votre "python" par défaut.
Chris Lea fournit un référentiel YUM pour les RPM python26 pouvant coexister avec la version 'native' 2.4 nécessaire à de nombreux outils d'administration sur CentOS.
Des instructions rapides qui ont fonctionné au moins pour moi:
$ Sudo rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
$ Sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
$ Sudo yum install python26
$ python26
Lorsque vous installez votre version de python (dans ce cas, il s'agit de python2.6), exécutez cette commande pour créer votre virtualenv
:
virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/
Si vous voulez vous simplifier la tâche, il existe des RPM CentOS pour les nouvelles versions de Python flottant sur le réseau. Par exemple. voir:
En retard pour la fête, mais le PO aurait dû aller avec Buildout ou Virtualenv , et a complètement évité le problème.
Je travaille actuellement sur un serveur Centos. Eh bien, travailler serait le terme approprié et je peux assurer à tout le monde que la seule façon pour moi de retenir mes larmes tout en utilisant les équivalents logiciels de spears, est de construire.
rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
yum install python26
python26
pour les dos qui ne savent tout simplement pas: =)
vous pouvez toujours faire votre propre RPM:
http://www.grenadepod.com/2009/12/26/building-python-2-6-4-rpm-for-centos-5-4/
Dépendance manquante: libffi.so.5 est ici:
# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
Téléchargez et installez Python 3.3.0
# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall
Téléchargez et installez Distribute for Python 3.3
# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install
Installer et utiliser virtualenv for Python 3.3
# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject
New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.
# source otherproject/bin/activate
# python --version
Python 3.3.0
Tapez les commandes suivantes sur le terminal pour installer Python 3.6 sur CentOS 7:
$ Sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
Alors fais :
$ Sudo yum install python36u
Vous pouvez également installer n’importe quelle version au lieu de la version 3.6 (si vous le souhaitez) en remplaçant simplement 36 par votre numéro de version.
J'ai désinstallé la version originale de python (2.6.6) et installé la version 2.7 (avec l'option make && make altinstall
), mais lorsque j'ai essayé d'installer quelque chose avec yum, cela ne fonctionnait pas.
J'ai donc résolu ce problème comme suit:
# ln -s /usr/local/bin/python /usr/bin/python
rpm -Uvh python-2.6.6-36.el6.i686.rpm
Terminé