Ubuntu 14.4 est livré avec Python 2.7.6 intégré, mais je voudrais le mettre à niveau vers 2.7.9 (il dispose des fonctionnalités de sécurité que je veux).
Est-ce que c'est possible? Si oui, comment cela peut-il être réalisé?
Ubuntu 14.4 est livré avec Python 2.7.6 intégré, mais je voudrais le mettre à niveau vers 2.7.9 (il dispose des fonctionnalités de sécurité que je veux).
Est-ce que c'est possible? Si oui, comment cela peut-il être réalisé?
Réponses:
Vous pouvez utiliser pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Puis ajouter
# for PyEnv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="$HOME/.pyenv/shims:$PATH"
eval "$(pyenv init -)"
Dans .bash_profile, vous pourrez voir la version de python que vous voulez installer ou mettre à jour:
pyenv install --list
veux python 2.7.10? tu peux essayer:
pyenv virtualenv 2.7.10
J'espère que ça peut t'aider.
ppa: fkrull / deadsnakes est la dernière version de python2.7
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade
Il mettra à niveau python à 2.7.10
Je ne suis pas fan des réponses précédentes suggérant l'installation à partir de différents PPA. Aucun manque de respect voulu, mais je ne connais pas les personnes qui les ont construits et je ne sais pas du tout ce qui pourrait y être Dans tout environnement où une personne doit répondre à un professionnel de la sécurité, cette pratique serait mal vue.
Je viens de constater que le téléchargement de la version 2.7.9 à partir des sources et l’installation côte à côte étaient un bon début. Ce blog génial a couvert les étapes. (recréé ici pour se conformer aux directives de débordement de pile)
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install
Tester si la version fonctionne
/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9
Maintenant que j'ai la version 2.7.9 installée, je peux l'appeler directement ou créer un lien symbolique depuis l'endroit où je veux. (ou copiez-le dans un fichier virtuel, etc.)
Et notez que je suis arrivé ici après avoir reçu des avertissements non sécurisés sur la plate-forme et des avertissements SNI manquants. Ce qui m'a conduit ici . J'imagine que beaucoup de gens trouvent cette question par le même chemin. Et si c'est pour cela que vous êtes ici, ce bout de code pourrait vous être utile aussi
pip install urllib3[secure]
virtualenv
. La raison pour laquelle j’ai le sentiment que c’est mieux, c’est que cela ne dépend pas d’applications ou de référentiels tiers qui pourraient casser autre chose.
Voici le nouveau référentiel tiers mis à niveau:
sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version
La version que vous voulez est déjà dans Ubuntu, dans Vivid (pré) version. Si vous êtes courageux, vous pouvez mélanger des versions et installer la version de Python de Vivid sous Trusty. Vous trouverez ci-dessous une solution générique qui fonctionne sur certains paquets. Je ne peux pas la garantir avec Python. Les chances sont ~ 50/50 que cela réussira. Si toutefois vous trouvez un référentiel de backports approprié pour 14.04 avec la version de votre package requis, il devrait alors être un meilleur choix.
Vous avez la ligne "... fidèle principale" dans votre /etc/apt/sources.list
, copiez-la deux fois, en remplaçant "digne de confiance" par "utopique" et "vif".
Courez apt-get update
et ensuite apt-get -t vivid install python2.7
. Passez en revue les dépendances installées avant de continuer. Abandonnez la mise à niveau lorsque vous suspectez un dommage à votre système (paquets importants supprimés, etc.).
Supprimer ou hacher les deux lignes de /etc/apt/sources.list
.
Ne le faites jamais sur des machines de production. Faites une sauvegarde de votre système d'exploitation et préparez le support de démarrage pour le restaurer si nécessaire. Attendez-vous à des problèmes sur les mises à niveau. Tu as été prévenu.