web-dev-qa-db-fra.com

Comment puis-je mettre à niveau Python vers 2.7.9 sur Ubuntu 14.4?

Ubuntu 14.4 est livré avec Python 2.7.6 intégré, mais j'aimerais le mettre à niveau vers 2.7.9 (il a des fonctionnalités de sécurité que je veux).

Est-ce que c'est possible? Si oui, comment y parvenir?

33
moomima

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 -)"

à .bash_profile alors vous pouvez voir la version python que vous souhaitez installer ou mettre à jour:

pyenv install --list

voulez python 2.7.10? vous pouvez essayer:

 pyenv virtualenv 2.7.10

J'espère que ça peut t'aider.

16
Jeremy Anifacc

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 vers 2.7.10

31
Like

Je ne suis pas un fan des réponses précédentes suggérant l'installation à partir de divers PPA. Aucun manque de respect prévu, mais je ne connais pas les gens qui les ont construits et je n'ai aucune idée de ce qui pourrait y être. Dans tout environnement où quelqu'un doit répondre à un professionnel de la sécurité, cette pratique serait mal vue.

Je viens de découvrir que le téléchargement de 2.7.9 à partir de la source et son installation côte à côte était un bon début. Cet article de 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

Testez si la version fonctionne

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Maintenant que j'ai installé 2.7.9, je peux l'appeler directement ou y créer un lien symbolique où je veux. (ou copiez-le dans un virtualenv etc.)

Et notez que je suis arrivé d'une situation où je recevais des avertissements de plate-forme non sécurisés 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 la raison pour laquelle vous êtes ici, cet extrait peut également vous être utile

pip install urllib3[secure]
11
jorfus

Voici un 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
3
arbabnazar

Vous pouvez aller sur python.org et télécharger le fichier .tar.gz, le compiler et l'installer. Vous aurez besoin des outils de base pour compiler le code source. Je ne me souviens pas si le package "build-essential" suffira, mais essayez-le.

2
jaumzors

La version que vous voulez est déjà dans Ubuntu, en version (pré) Vivid. Si vous êtes courageux, vous pouvez mélanger les versions et installer la version Vivid de Python sous Trusty. Ci-dessous est une solution générique qui fonctionne sur certains packages, je ne peux pas la garantir avec Python. Les chances sont ~ 50/50 pour que cela réussisse. Si vous trouvez cependant un dépôt de backports approprié pour la version 14.04 avec votre version de package requise, alors ce devrait être un meilleur choix .

  1. Vous avez la ligne "... fidèle principale" dans votre /etc/apt/sources.list, copiez-le deux fois, en remplaçant "fidèle" par "utopique" et "vif".

  2. Courir apt-get update et alors apt-get -t vivid install python2.7. Vérifiez les dépendances installées avant de continuer. Abandonnez la mise à niveau lorsque vous soupçonnez des dommages à votre système (paquets importants supprimés, etc.).

  3. Supprimez ou hachez 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 de mise à niveau. Tu as été prévenu.

2
sam_pan_mariusz