60 votes

python 2 au lieu de python 3 comme python par défaut (temporaire) ?

sur mon ordinateur

 ~$ python -V
 Python 3.2.1

mais je rencontre des problèmes lorsque j'exécute des programmes python. je suppose (ou du moins je veux essayer ceci) qu'il y a des problèmes de compatibilité descendante, et je veux exécuter ces scripts python avec

  python2 2.7.2-2

qui est également installé sur mon système mais je ne sais pas comment en faire le python par défaut (temporaire). Le script python commence par

  #!/usr/bin/env python

et j'utilise arch linux.

85voto

Mike Points 1484

Vous pouvez utiliser virtualenv

 # Use this to create your temporary python "install"
# (Assuming that is the correct path to the python interpreter you want to use.)
virtualenv -p /usr/bin/python2.7 --distribute temp-python

# Type this command when you want to use your temporary python.
# While you are using your temporary python you will also have access to a temporary pip,
# which will keep all packages installed with it separate from your main python install.
# A shorter version of this command would be ". temp-python/bin/activate"
source temp-python/bin/activate

# When you no longer wish to use you temporary python type
deactivate

Prendre plaisir!

21voto

Doug Richardson Points 1386
mkdir ~/bin
PATH=~/bin:$PATH
ln -s /usr/bin/python2 ~/bin/python

Pour arrêter d'utiliser python2, exit ou rm ~/bin/python .

11voto

o1iver Points 1765

Appelez simplement le script en utilisant quelque chose comme python2.7 ou python2 au lieu de simplement python.

Donc:

 python2 myscript.py

à la place de:

 python myscript.py

Vous pouvez également remplacer le lien symbolique "python" dans /usr/bin qui est actuellement lié à python3 par un lien vers l'exécutable python2/2.x requis. Ensuite, vous pouvez simplement l'appeler comme vous le feriez avec python 3.

11voto

Vous pouvez utiliser alias python="/usr/bin/python2.7" :

 bash-3.2$ alias
bash-3.2$ python
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ^D
bash-3.2$ alias python="/usr/bin/python3.3"
bash-3.2$ python
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

11voto

S.Lott Points 207588

Vous ne voulez pas d'un "Python par défaut temporaire"

Vous voulez que les scripts 2.7 commencent par

 /usr/bin/env python2.7

Et vous voulez que les scripts 3.2 commencent par

 /usr/bin/env python3.2

Il n'y a vraiment aucune utilité pour un Python "par défaut". Et l'idée d'un « défaut temporaire » n'est qu'une voie vers une confusion absolue.

Rappelles toi.

Explicite est meilleur qu'implicite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X