J'utilise généralement Python 2.7 mais Python 3.5 récemment installé à l'aide de Miniconda sur Mac OS X. Différentes bibliothèques ont été installées pour ces deux versions de python. Désormais, la saisie de l'un des mots clés "python" ou "python3" dans le terminal appelle python 3.5, et "python2" renvoie "-bash: python2: commande introuvable". Comment puis-je maintenant les invoquer spécifiquement en utilisant les alias 'python2' et 'python3' respectivement?
J'utilise actuellement OS X El Capitan.
IMHO, le meilleur moyen d'utiliser deux versions différentes de Python sur macOS est d'utiliser homebrew
. Après avoir installé homebrew sous macOS, exécutez les commandes ci-dessous sur votre terminal.
brew install python@2
brew install python
Vous pouvez maintenant exécuter Python 2.7 en appelant python2
ou Python 3 en appelant python3
. De plus, vous pouvez utiliser virtualenv
ou pyenv pour gérer différentes versions des environnements python
.
Je n'ai jamais personnellement utilisé miniconda
, mais d'après la documentation, , cela ressemble à l'utilisation de pip
et virtualenv
en combinaison.
Le binaire Python d’OSX (version 2) est situé à /usr/bin/python
si vous utilisez which python
, il vous indiquera où la résolution de la commande python
est en cours. Généralement, les tierces parties redéfinissent les éléments dans /usr/local/bin
(qui a priorité par défaut sur /usr/bin
). Pour résoudre ce problème, vous pouvez exécuter directement /usr/bin/python
pour utiliser 2.x ou rechercher la redéfinition erronée (probablement dans /usr/local/bin
ou ailleurs dans votre PATH
).
J'avais déjà installé python3 (via miniconda3) et devais installer python2 à côté, dans ce cas, brew install python
n'installe pas python2, vous aurez donc besoin de brew install python@2
.
Maintenant, alias python2
fait référence à python2.x à partir de /usr/bin/python
et alias python3
fait référence à python3.x à partir de /Users/ishandutta2007/miniconda3/bin/python
et alias python
fait référence à python3 par défaut.
Maintenant, pour utiliser python
comme alias pour python2, j'ai ajouté ce qui suit au fichier .bashrc
alias python='/usr/bin/python'
.
Pour revenir à python3 par défaut, supprimez cette ligne si nécessaire.
Comment redéfinir la version python sur 2.7 si vous avez installé Anaconda3 (Python 3.6) sur MacOS High Sierra 10.13.5
Editez le fichier .bash_profile dans votre répertoire personnel.
vi $ HOME/.bash_profile
hash la ligne # export PATH = "/ Users/YOURUSERNAME/anaconda3/bin: $ PATH"
Fermez à nouveau le shell, vous devriez voir 2.7 lorsque vous exécutez python.
Ensuite, si vous voulez la version 3.6, vous pouvez simplement supprimer le commentaire de votre ligne anaconda3 dans votre profil bash.
Essayer de dissocier python se terminera en larmes sous Mac OSX.
Vous voulez quelque chose comme ça
unlink:/usr/bin/python: opération non autorisée.
J'espère que ça aide quelqu'un !! :) :)
Semblable à la réponse de John Wilkey, je lancerais python2 en recherchant which python
, comme si l’on utilisait /usr/bin/python
, puis en créant un alias dans .bash_profile
:
alias python2="/usr/bin/python"
Je peux maintenant exécuter python3 en appelant python
et python2 en appelant python2
.
Je ne fais que suivre la réponse de John Wilkey.
Mon alias python
représentait python2.7 (situé dans /usr/bin
) . Cependant, le chemin par défaut python_path est maintenant précédé de /usr/local/bin
pour python3
; par conséquent, en tapant python
, je n’ai pas non plus reçu la version python.
J'ai essayé de créer un lien dans /usr/local/bin
pour python2
:
ln -s /usr/bin/python /usr/local/bin/
Cela fonctionne lorsque vous appelez python
pour python2
.