Comment faire pour que le terminal exécute python 3.1?

14

Actuellement, quand je tape "python" sur le terminal, j'obtiens la v2.6 qui est très bien et dandy mais comment puis-je la configurer pour utiliser la v3.1 à la place? Y a-t-il une variable "chemin" quelque part que je peux changer comme Windows?

EDIT: J'ai déjà python3 installé et opérationnel. Je veux juste savoir comment le définir comme la version par défaut du shell python.

John
la source
python3 vs python à partir de la ligne de commande.
earthmeLon

Réponses:

18

Utilisez python-virtualenv pour créer un environnement python virtuel.

Sélectionnez la version de Python à créer dans l'environnement virtuel:

virtualenv --python=/usr/bin/python3.1 myvirtualenv

Pour gérer plusieurs environnements virtuels Python, installez l' extension virtualenvwrapper .

Pourquoi virtualenv?

Le problème de base à résoudre est celui des dépendances et des versions, et indirectement des autorisations. Imaginez que vous ayez une application qui nécessite la version 1 de LibFoo, mais une autre application nécessite la version 2. Comment pouvez-vous utiliser ces deux applications? Si vous installez tout dans /usr/lib/python2.4/site-packages (ou quel que soit l'emplacement standard de votre plate-forme), il est facile de se retrouver dans une situation où vous mettez involontairement à niveau une application qui ne devrait pas être mise à niveau.

Sid
la source
Si mon application devient publique, j'utiliserai certainement ce merci.
John
10

Tout d'abord, vous devez installer le python3package. Après l'avoir installé, accédez à un terminal et tapez:

sudo update-alternatives --config python

puis choisissez python3 dans la liste présentée.

Si cela ne fonctionne pas, vous devrez peut-être recréer le lien symbolique. Enregistrez-le d'abord:

sudo mv /usr/bin/python /usr/bin/pythonSAVE

ensuite, créez les alternatives:

sudo update-alternatives --install python2.5 python /usr/bin/python2.5 2
sudo update-alternatives --install python3.1 python /usr/bin/python3.1 1

créer un nouveau lien symbolique:

sudo ln -s /etc/alternatives/python /usr/bin/python

Enfin, choisissez celui (python3) que vous souhaitez utiliser:

sudo update-alternatives --config python

Et si vous devez revenir à python2, répétez simplement la commande:

sudo update-alternatives --config python

Je suppose que simplement installer le package et les alternatives de mise à jour fonctionneront très bien, vous n'aurez peut-être pas besoin de recréer des liens à partir de zéro. Merci!

EDIT: Comme indiqué ici, le update-alternativesavec les --installoptions accepte un lien absolu, vous devrez donc peut-être exécuter:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.5 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.1 1
crncosta
la source
J'ai essayé de courir sudo update-alternatives --config python, mais cela me dit que update-alternatives: error: no alternatives for python.j'ai essayé de recréer le lien symbolique comme vous l'avez dit, mais cela ne semble pas changer quoi que ce soit ... Quel pourrait être le problème?
Sean Bone
1

Installez d'abord Python 3.1 à l'aide du référentiel de serpents morts: https://launchpad.net/~fkrull/+archive/deadsnakes

Ensuite, vous pouvez taper 'python3' sur la ligne de commande pour exécuter Python 3.1 tout en conservant le système Python normal.

brousch
la source
+1 - Cela semble inutile, car il se python3.1-minimaltrouve dans les référentiels Ubuntu, mais en réalité, ce référentiel contient python2.4et python2.5- ce qui est plutôt agréable. (Je dois utiliser python 2.4 pour le calcul haute performance, connais la douleur ...)
Stefano Palazzo