web-dev-qa-db-fra.com

Installé Python 3 sur Mac OS X mais toujours Python 2.7

J'utilise actuellement OS X Yosemite (10.10.2) sur mon MacBook Pro ... Par défaut, Apple est livré Python 2.7.6 sur Yosemite.

Je viens de télécharger et d’exécuter ce programme d’installation pour Python 3: python-3.4.3-macosx10.6.pkg

Quand j'ai ouvert mon terminal et tapé python, voici ce qui s'est passé:

Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Des questions):

  1. Est-ce que quelqu'un sait où Python 3.4.3 interpreter a été installé?
  2. Dois-je désinstaller Python 2.7.3 (si oui, comment procéder) avant de définir une variable d'environnement globale telle que PYTHON_HOME sur l'emplacement d'installation Python 3.4.3?
48
PacificNW_Lover

Essayez de taper python3 _ au lieu de python.

112

Alors que la réponse de @ rhombidodecahedron est concise et concise et que @Nacho Izquierdo répond parfaitement à votre première question, ma réponse vise à répondre plus en détail à votre seconde question:

On devrait pas désinstaller Python 2.7 fourni avec Mac OS X; il est fourni par Apple et est nécessaire pour les applications exécutées sur OS X. Il est stocké dans /System/Library/Frameworks/... S'il est supprimé, Mac OS X devra être réinstallé.

J'espère que ça t'as aidé! Et pour réitérer les réponses données par @rhombidodecahedron et @Nacho Izquierdo, installez Python 3.x séparément et utilisez python3 _ si vous souhaitez utiliser cette version.

Python 2.7 est le standard, Python 3.x est le futur.

24
abhi

Pour utiliser Python 3.x, tapez python3 au lieu de python.

7
Bhimashankar Sutar

Comme je sais que je n’utiliserai que python3, j’ai ajouté ces 2 lignes au fichier .bash_profile:

alias python="python3" # to use python3 rather than python2.7
alias idle="idle3" # to use python3 idle rather than 2.7
4
Sherif Shendidy

Ce que vous ne devriez pas faire -

déplacement de default python binaire vers un nom non utilisé

$ Sudo mv /usr/bin/python /usr/bin/python2

puis en déplaçant le nouveau binaire vers le chemin par défaut

$ Sudo mv $PATHTOBINARY/python3 /usr/bin/python

Ce qui pourrait être fait mais ne devrait pas non plus être fait

Puisque j’utilise par défaut zsh, j’ai mis le texte suivant dans le .zshrc fichier:

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.zshrc

Si vous utilisez le shell Bash par défaut, vous pouvez ajouter ce même texte à votre .bashrc:

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.bashrc

Cela fonctionnera, mais ce n’est pas la méthode recommandée, car il sera difficile de mettre à jour les futures mises à jour à Python. Cela signifie que nous devons télécharger manuellement les nouveaux fichiers depuis Python n'inclut pas de moyen de mise à jour en ligne de commande.

Quelle est la bonne façon

Le principe de base de tout Python est de ne jamais utiliser le système Python. Vous ne voulez pas que le "Python par défaut" de Mac OS X soit "Python3".

Utilisation de pyenv pour gérer Python est recommandé.

$ brew install pyenv

$ pyenv install 3.7.3

$ pyenv global 3.7.3

$ pyenv version

Actualiser le terminal actuel et vérifier

$ python -V

Cela devrait donner Python 3.7.3

De cette façon, vous êtes prêt à partir.

2
Vivek Kumar

Dans la version OS X El Capitan, vous pouvez trouver l'interprète dans: /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4

En faisant glisser ce chemin dans le terminal et en appuyant sur Entrée, vous pourrez exécuter cette version.

Pour l'exécuter plus rapidement, vous pouvez soit créer un alias en tapant dans le terminal: alias python = 'python3.4'.

2
Nacho Izquierdo

Vous pouvez facilement le faire en utilisant pyenv qui est un simple Python Gestion des versions. Il permet de définir des versions spécifiques Python à exécuter sur des répertoires spécifiques ou on peut changer de version avant d'utiliser Shell

c'est à dire.

$ pyenv install 2.7.6
$ pyenv install 2.6.8
$ pyenv local 2.7.6
$ pyenv versions
  system
  2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
2
serasmus