2008-09-27 8 views
8

Je voudrais savoir comment mettre à niveau l'installation python par défaut (2.5.2) fournie avec ubuntu 8.04 à python 2.6rc2. Je voudrais faire 2.6 la version par défaut de python sur le système et migrer toutes les autres bibliothèques python installées sur 2.5.2 sur python 2.6rc2. S'il vous plaît laissez-moi savoir comment je peux y parvenir.Comment mettre à jour python 2.5.2 vers python 2.6rc2 sur ubuntu linux 8.04?

Merci Dirk

+0

Il est une très mauvaise idée pour remplacer l'installation de python par défaut. Installez simplement python 2.6 dans un autre répertoire. – nosklo

Répondre

15

Avec l'avertissement que je pense qu'il est une idée extrêmement mauvaise pour remplacer le Python par défaut avec une version bêta non libéré:

d'abord, installez 2.6rc2. Vous pouvez télécharger la source à partir du Python website. Style d'installation standard ./configure && make && sudo make install.

Ensuite, supprimez le lien symbolique /usr/bin/python. Ne pas supprimer /usr/bin/python2.5. Ajoutez un lien symbolique à 2.6 avec ln -s /usr/local/bin/python2.6 /usr/bin/python.

Encore une fois, je pense que c'est une idée terrible. Il y a presque certainement une meilleure façon de faire ce que vous essayez d'accomplir.


La migration des bibliothèques installées est un processus beaucoup plus long. Regardez dans les répertoires /usr/lib/python2.5/site-packages/ et /usr/local/lib/python2.5/site-packages/. Toutes les bibliothèques qui leur sont installées devront être réinstallées avec 2.6. Puisque vous n'utilisez pas une version Python packagée, vous ne pouvez pas utiliser les paquets d'Ubuntu - vous devrez mettre à jour manuellement toutes les bibliothèques vous-même. La plupart d'entre eux peuvent probablement être installés avec sudo easy_install <name>, mais certains comme PyGTK + ne sont pas si faciles. Vous devrez suivre des procédures d'installation personnalisées pour chacune de ces bibliothèques.

+0

les options de compilation par défaut ne seront-elles pas simplement ajoutées à/usr/local/bin (qu'il pourrait alors renommer en python26), tout en laissant le lien symbolique/usr/bin pointant vers python2.5? – unmounted

+0

Il est courant que les scripts shell utilisent #!/Usr/bin/python, plutôt que #!/Usr/bin/env python. Parce que si cela, le lien dans/usr/bin doit être remplacé. –

+0

En fait, la bonne façon (si vous ciblez une version spécifique) est #!/Usr/bin/env python2.6 –

1

Est-il nécessaire de le faire? En général, Ubuntu n'emballe pas les versions RC. 2.6 ne sera pas disponible dans Ubuntu jusqu'à Jaunty Jackalope. Toutefois, si vous insistez sur le fait que vous devez l'installer, vous devrez le faire sans gestionnaire de paquets.

Télécharger le package et le décompresser dans un répertoire

exécutez les commandes suivantes (en attente pour chaque finir comme vous le faites)

./configure 
make 
sudo make install 

Là, vous l'avez installé.

Il est préférable d'attendre qu'il soit emballé d'abord, espescially comme Python est utilisé dans un grand nombre de composants internes ubuntu, donc peut briser votre système horriblement

1

Il ne serait pas sage de changer la version par défaut de Python, c'est à dire ce que vous obtenez lorsque vous tapez "python" dans un shell. Cependant, vous pouvez avoir plusieurs versions de python installées. L'astuce consiste à s'assurer que le programme nommé "python" sur le chemin est la version fournie par le système. Si vous voulez lancer votre installation de Python 2.6, tapez python2.6 dans un shell pour le démarrer.

Télécharger le package et décompressez, puis exécutez:

./configure 
make 
sudo make install 
ls -l /usr/local/bin 

Vous devriez voir un python et un fichier python2.6, à la fois créé le jour que vous avez exécuté make install; supprime le fichier python.Ensuite, lorsque python est lancé, la version standard du système Python de /usr/bin sera exécutée, et lorsque python2.6 est exécuté, vous obtenez votre nouveau python brillant 2.6rc2. Python affiche la version lorsqu'il démarre un interpréteur interactif.

6

J'ai le même problème, et les binaires pré-construits apparemment se trouvent ici:

# Python 2.6 
deb http://ppa.launchpad.net/doko/ubuntu intrepid main 
deb-src http://ppa.launchpad.net/doko/ubuntu intrepid main 
+1

Ajout de ces lignes à mon /etc/apt/sources.list et émission d'un '' sudo apt-get update && sudo apt-get install python2.6'' qui renvoyait ce qui suit: '' Les paquets suivants ont des dépendances non satisfaites: python2 .6: Depends: libsqlite3-0 (> = 3.5.9) mais 3.4.2-2 doit être installé''. Sans aller plus loin, il semble que ce sera un processus assez long qui pourrait casser d'autres paquets et dépendances. Au moins sur Ubuntu 8.04. – Flowpoke

Questions connexes