Comment puis-je changer mon PYTHONPATH pour faire 3,2 mon Python par défaut au lieu de 2.7.2?

16

J'ai python3.2 situé dans /usr/lib/python3.2. Je ne sais pas si cela signifie qu'il est installé mais je suppose que c'est pour le moment.

Quelques faits sur mon système:

$ which python
/usr/local/bin/python

Lorsque je tape pythondans le terminal, j'obtiens ce qui suit

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Ensuite, pour trouver le chemin que je fais

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

Donc, sachant tout cela, comment puis-je changer mon python système par défaut de 2.7.2 à 3.2?

max
la source

Réponses:

28

Ce n'est pas bon de changer le python par défaut. De nombreux programmes système dépendent de python2 et non de python3. si vous souhaitez utiliser python3, il vous suffit de taper la commande python3 .

liuerfire
la source
4
Pour les bibliothèques de support et les outils (comme pyenv, fabric), ils s'attendent /usr/bin/env pythonà être ce que vous voulez. La saisie manuelle python3n'est donc pas la solution.
Eric Mill
9

Le PYTHONPATH n'a pas grand-chose à voir avec cela. Il indique simplement à l'interpréteur Python, quel que soit l'interpréteur exécuté, où trouver les modules supplémentaires que vous souhaitez charger.

Mais de toute façon, changer la version par défaut sur votre système est dangereux, comme d'autres commentateurs l'ont observé. Vous risquez de casser un package existant construit contre Python2 et utilisez / usr / bin / env python pour trouver leurs interprètes.

En fait, ce n'est pas la bonne façon de l'exprimer. Changer la version par défaut de Python cassera tout votre système Ubuntu et empêchera de nombreux programmes de fonctionner. C'est aussi complètement inutile.

Mais puisque vous avez demandé, vous faites juste ceci:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

Heureux crash!

Ken Kinder
la source
7

J'ai ajouté ceci dans mon .bashrc, ça fonctionne bien jusqu'à présent:

alias python='python3'
vinod garag
la source
1
Cela fonctionnera tant que vous n'appelez pas python à partir d'un script, qui n'a pas accès à vos alias.
HelloGoodbye
4

Selon cela, vous pouvez configurer votre variable d'environnement ou simplement ajouter un nouveau dossier de chemin d'importation. Mais je recommande d'utiliser virtualenvs pour les projets python si vous voulez avoir une certaine flexibilité.

Tural Gurbanov
la source
2

Voici la façon la plus sûre de le faire - en utilisantupdate-alternatives

Vadim Rutkovsky
la source
1

s'il est en fait installé, tapez python3.2 au lieu de simplement python et il le chargera au lieu de la valeur par défaut. Juste installé python 3.2 pour le tester =)

s'il n'est pas en fait installé open terminal et tapez sudo apt-get install python3.2 pour l'obtenir

BretD
la source