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

35

Comme je suis encore nouveau dans Linux, j'essaie toujours de comprendre où se trouvent les exécutables et leurs bibliothèques et comment installer les paquetages. J'ai donc Debian Wheezy 7.3 qui contient les versions suivantes de 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 dans /usr/lib/les dossiers principaux:

  • python2.6
  • python2.7

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

apt-get install python

il sort python is already the newest version..

Alors, comment puis-je installer la dernière version de Python? Sur la page de téléchargement de Python, il y a l'archive source, comment puis-je l'utiliser pour l'installer séparément, comme si vous aviez un autre dossier dans /usr/lib/like python2.7.6et que le pythonlien /usr/bin/pointe vers le nouvel exécutable, ou peut-être mettre à niveau la version actuelle si cela ne casse rien .

Pierre
la source
Vous pouvez backport Python 2.7.6 de testing / unstable et remplacer votre 2.7.3 actuel par celui-ci. Cela ne vous causera probablement aucun problème. Si c'est le cas, vous pouvez facilement revenir en arrière.
Faheem Mitha
Je ne l'ai même pas installé, une nouvelle installation de Debian et taper "python" à partir de la ligne de commande et je suis dans le shell python3.
frozenjim

Réponses:

16

Vous recherchez probablement virtualenvou pyenvou une autre méthode non-système à l' échelle d'installer Python. La méthode qui utilise APT (Advance Package Tool) dpkgassure que toutes les parties du système fonctionnent en harmonie. Vous voudrez peut-être installer python dans un chemin séparé, masqué de tous les autres programmes que vous pouvez appeler à volonté, c’est-à-dire le but de pyenv/ virtualenv. Cela explique comment installer la dernière version de python sans endommager le système .

En passant, vous pouvez consulter la dernière version de python que Debian à Madison , tandis que la dernière version de python 2 à 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).

Braiam
la source
ok, j'ai installé pip et virtualenv en tant que root. Comment créer un environnement virtuel avec une nouvelle version de Python? pour autant que je sache, il faut que la nouvelle version soit installée en premier, non?
Pierre
1
@ Peter, je pense que la première étape est pyenv install 2.7.6. Vous pouvez vérifier toutes les versions en utilisantpyenv install -l
Braiam
27

Après de nombreuses recherches, j’ai décidé de compiler Python à partir du code source. J’ai donc téléchargé l’archive compressée à partir de la page de téléchargement de Python. Nous devons maintenant installer le build-essentialpaquet pour pouvoir compiler les fichiers source:

apt-get install build-essential

Nous devons également installer ces packages de développement, obligatoires pour certains modules Python:

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

Ensuite, nous extrayons le fichier source téléchargé:

tar zxf Python-2.7.6.tgz

puis nous cddans 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 dans le répertoire /opt/pythonque j'avais créé auparavant. J'ai également utilisé le paquetage checkinstall pour créer un fichier .deb afin que je puisse le désinstaller facilement plus tard. Nous l'avons donc d'abord installé:

apt-get install checkinstall

et remplacez la dernière ligne make installpar:

checkinstall

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

Je peux maintenant lancer la ligne de commande /opt/python/bin/python2.7pour utiliser cette version de Python. Nous pouvons également créer un lien vers cet exécutable afin de ne pas saisir le chemin d'accès complet, je l'ai nommé python2.7.6.

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

De plus, le répertoire /opt/python/bincontiendra plus tard d'autres exécutables tels que pipet virtualenvou tout autre module que vous installez afin que nous puissions l'ajouter à la variable d'environnement PATH, éditer ~/.profileet ajouter cette ligne:

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

et courir:

source ~/.profile

Je le chemin vers apposé la fin , car il contient les noms exécutables comme ceux dans /usr/bincomme python, python2et python2.7donc nous gardons la plus haute priorité pour /usr/bin.

Pierre
la source
Maintenant, sauriez-vous comment configurer votre nouveau python pour voir les modules installés via apt-get?
elsurudo
Malheureusement pour Python 2.6, la compilation à partir des sources ne fonctionne pas correctement sous Debian 8 (Jessie), mais j'ai constaté, du moins pour un Raspberry Pi, que je pouvais utiliser d'anciens paquets de packages.debian.org . L'ordre, en supposant que les éléments essentiels à la construction soient déjà en place, est quelque chose comme libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev mais dpkg -ivous indiquera ce qui est nécessaire.
Charlie Clark
1
@elsurudo Cela n'aurait aucun sens, car il est possible que les modules ne soient pas pris en charge sur votre nouvelle version. Si vous voulez un contrôle total sur votre Python (comme vous le faites lors de la compilation à partir des sources), vous voudrez également installer les modules séparément.
triplee
-1

vous pouvez utiliser:

aptitude install python3.5  

ou, si vous n'avez pas installé aptitude, vous pouvez l'installer en utilisant:

apt-get install aptitude
John
la source