Ubuntu 12.04 est fourni python v 2.7.3
par défaut. Je veux le mettre à jour v 2.7.5
. J'ai essayé les instructions données dans cette question ,
sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar -xvf Python-2.7.5.tgz
cd Python-2.7.5
./configure
make
sudo make altinstall
La dernière commande échoue avec l'erreur:
...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1
Comment puis-je effectuer cette mise à niveau?
sudo make **install**
au lieu desudo make **altinstall**
? Obtenez-vous la même erreur?Réponses:
L'installation à partir de la source peut être effectuée, bien sûr, mais j'hésiterais à mettre à niveau le package python de mes systèmes Ubuntu à partir de la source pour plusieurs raisons:
Cela pourrait briser le système en effectuant une compilation directe à partir des sources (je ne suis pas exactement certain de la façon dont Ubuntu personnalise leurs builds de paquet Python).
Je craindrais qu'il puisse y avoir des problèmes avec l'utilisation des modules des référentiels à l'avenir.
Il existe un PPA qui semble actif (le train 2.7.x a été construit pour la dernière fois en avril de cette année), mais le PPA n'a pas encore de version 2.7.5. Vous voudrez peut-être envoyer une requête ping au responsable et voir quels sont ses plans pour les futures versions et s'il va en inclure un pour 2.7.5. Si possible, je recommanderais cela plutôt que d'installer à partir de la source. Comme pour tout nouveau logiciel, je recommanderais de le construire d'abord sur un système de test.
Une autre option consiste à utiliser un sandbox (
pyenv
) pour exécuter tout nouveau progiciel non testé. Une installation directe sur votre système pourrait nuire au fonctionnement de votre machine.Le package pyenv permettra d'installer une version Python non système sur votre box sans impact sur le package Python principal installé sur votre machine (Encore une fois: votre système dépend de la version actuellement installée de Python et sa mise à niveau pourrait casser votre système). Auparavant, Pythonbrew était recommandé pour isoler les packages python du système, mais cela a depuis été déconseillé et remplacé par le
pyenv
package.Le
pyenv
package fournit les fonctionnalités suivantes:Installation
Découvrez pyenv dans ~ / .pyenv.
Ajoutez ~ / .pyenv / bin à votre $ PATH pour accéder à l'utilitaire de ligne de commande pyenv.
Remarque Zsh: modifiez votre
~/.zshenv
fichier au lieu de~/.bash_profile
.Ajoutez pyenv init à votre shell pour activer les shims et l'auto-complétion.
Remarque Zsh: modifiez votre
~/.zshenv
fichier au lieu de~/.bash_profile
.Redémarrez votre shell pour que les changements de chemin prennent effet. Vous pouvez maintenant commencer à utiliser pyenv.
Installez les versions de Python dans ~ / .pyenv / versions. Par exemple, pour installer Python 2.7.5, téléchargez et décompressez la source, puis exécutez:
REMARQUE Si vous devez passer des options de configuration pour créer à partir de la source, veuillez utiliser la variable d'environnement CONFIGURE_OPTS.
Reconstruisez les binaires de shim. Vous devez le faire chaque fois que vous installez un nouveau binaire Python (par exemple, lors de l'installation d'une nouvelle version de Python, ou lors de l'installation d'un package qui fournit un binaire).
la source
pyenv
est brillant pour tant de raisons. M'aide énormément dans mon expérimentation avec un minimum de tracas après la configuration initiale.home
dossier d'un utilisateur spécifique ? Comment puis-je l'installer pour chaque utilisateur? Puis - je installer./pyenv
dans/usr/local/bin
ou est - ce une mauvaise idée?