web-dev-qa-db-fra.com

Comment installer la dernière version Python sur Debian séparément ou mettre à niveau?

Je suis encore nouveau sur Linux, donc j'essaie toujours de comprendre où sont les exécutables et leurs bibliothèques et comment installer les paquets, j'ai donc Debian Wheezy 7.3 qui a ces versions Python:

  • Python 2.7.3 (par défaut)
  • Python 2.6.8

Donc dans le répertoire /usr/bin/ il y a ces fichiers que je peux appeler depuis le terminal:

  • python (qui est un lien vers python2.7)
  • python2 (également un lien vers python2.7)
  • python2.6 (exécutable Python 2.6.8)
  • python2.7 (exécutable Python 2.7.3)

et en /usr/lib/, les dossiers principaux:

  • python2.6
  • python2.7

Actuellement, la dernière version de Python est 2.7.6 que je veux installer, mais je ne sais pas comment, j'ai essayé d'utiliser apt-get:

apt-get install python

il génère python is already the newest version..

Alors, comment puis-je installer la dernière version de Python? Sur la page de téléchargement Python il y a l'archive source, comment puis-je l'utiliser pour l'installer séparément comme en avoir une autre dossier dans /usr/lib/ comme python2.7.6 et créez le lien python dans /usr/bin/ pointez sur le nouvel exécutable, ou mettez à jour la version actuelle si elle ne casse rien.

35
Pierre

Vous recherchez probablement virtualenv ou pyenv ou une autre méthode non à l'échelle du système pour installer Python. La méthode utilisant APT (Advance Package Tool) et dpkg, garantit que toutes les parties du système fonctionnent en harmonie, donc vous voudrez peut-être installer python dans un chemin séparé, masqué de tous les autres programmes que vous pouvez appeler à volonté, ce qui est le but de pyenv/virtualenv. Cela explique comment installer la dernière version de python sans casser le système .

BTW, vous pouvez consulter la dernière version de python que Debian dans madison , tandis que la dernière version de python 2 sur le la date est celle que vous avez indiquée:

➜  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew n'est plus maintenu).

16
Braiam

Ok après beaucoup de recherches, j'ai décidé de construire Python à partir de la source, j'ai donc téléchargé l'archive compressée source à partir de la page de téléchargement Python , maintenant nous devons installer le build-essential package pour pouvoir compiler les fichiers source:

apt-get install build-essential

nous devons également installer ces packages de développement qui sont requis pour certains modules Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

nous extrayons ensuite le fichier source téléchargé:

tar zxf Python-2.7.6.tgz

puis on cd dans le répertoire extrait:

cd Python-2.7.6

et suivez les instructions sur les documents Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

J'ai choisi de l'installer sous le répertoire /opt/python que j'ai créé auparavant, j'ai également utilisé le package checkinstall pour créer un fichier .deb afin de pouvoir le désinstaller facilement plus tard, nous l'installons donc en premier:

apt-get install checkinstall

et remplacez la dernière ligne make install avec:

checkinstall

maintenant j'ai une nouvelle installation python dans /opt/python/lib/python2.7 et le fichier binaire est dans /opt/python/bin/python2.7.

maintenant je peux exécuter dans la ligne de commande /opt/python/bin/python2.7 pour utiliser cette version Python, nous pouvons également créer un lien vers cet exécutable afin de ne pas taper le chemin complet, je l'ai nommé python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

également le répertoire /opt/python/bin contiendra plus tard d'autres exécutables comme pip et virtualenv ou tout autre module que vous installerez afin que nous puissions l'ajouter à la variable d'environnement PATH, éditez ~/.profile et ajoutez cette ligne:

PATH="$PATH:/opt/python/bin"

et courir:

source ~/.profile

J'ai ajouté le chemin à la fin car il contient des noms exécutables comme ceux de /usr/bin comme python, python2 et python2.7 nous conservons donc la priorité la plus élevée pour /usr/bin.

27
Pierre