web-dev-qa-db-fra.com

Comment utiliser Homebrew pour installer à la fois Python 2 et 3 sur Mac?

J'ai besoin de pouvoir basculer entre Python 2 et 3. Comment puis-je faire cela en utilisant Homebrew, car je ne veux pas gâcher le chemin d'accès et me mettre dans le pétrin. En ce moment, j'ai installé 2.7 via Homebrew.

133
MostafaMV

Je voudrais utiliser pyenv Vous pouvez l'installer:

$ brew install pyenv

Pour activer pyenv dans votre Bash Shell, vous devez exécuter:

$ eval "$(pyenv init -)"

Pour faire cela automatiquement pour Bash au démarrage, ajoutez cette ligne à votre ~/.bash_profile1

Usage:

Une fois que pyenv est installé et activé, vous pouvez installer différentes versions de python et choisir celle que vous pouvez utiliser. Exemple:

$ pyenv install 2.7.5

Vous pouvez vérifier les versions que vous avez installées avec:

$ pyenv versions

Et vous pouvez basculer entre les versions python avec la commande suivante:

$ pyenv global 3.3.1

Vous pouvez également définir une version python pour le répertoire actuel avec:

$ pyenv local 3.5.2

Vous pouvez vérifier en exécutant python --version:

$ python --version
Python 3.5.2

1Homebrew avait l'habitude de vous demander de le faire lors de l'installation de pyenv, mais le message a été supprimé . Pour Zsh et les autres obus, les étapes précises peuvent être différentes.

271
moliware

Vous pouvez avoir les deux versions installées en même temps.

Pour Homebrew> = 1.5.0:

Depuis le 1er mars 2018, la formule python sera mise à niveau vers Python 3.x, tandis qu'une nouvelle formule python@2 sera ajoutée pour Python 2.7, plus précisément.

Voir changements ici ou document final sur l'utilisation de Homebrew pour Python ici .

Pour les vieux Homebrew:

Pour Python 2.x:

brew install python

Pour Python 3.x:

brew install python3

Maintenant, vous aurez les deux versions installées sur votre machine. Lorsque vous souhaitez utiliser la version 2, utilisez l'exécutable python. Lorsque vous souhaitez utiliser la version 3, utilisez l'exécutable python3.

74

Actuellement, Homebrew fournit deux formules différentes pour Python 2 et 3. brew install python installe python3 et brew install python@2 installe python2. Plus de détails dans les documents Homebrew:

https://docs.brew.sh/Homebrew-and-Python

Si vous avez actuellement la version 2.x installée via Homebrew, Homebrew vous enverra un message tel que:

Error: python 2.7.14 is already installed
To upgrade to 3.6.5, run `brew upgrade python`

Si vous courez:

brew upgrade python

vous devriez pouvoir faire:

python --version

et

python3 --version

Pour voir quelles versions de Python 2.x et 3.x sont installées.

10
Guilherme Garnier

Sinon, vous pouvez probablement simplement entrer "python3" pour exécuter votre version la plus récente de python3.x et "python" ou "python2" pour exécuter la dernière version 2.x installée.

6
Fred Mitchell

Il existe des moyens d'utiliser les deux, mais la solution la plus simple aujourd'hui consiste à utiliser pyenv . pyenv permet de basculer facilement entre les versions. Voici ce que j'ai fait pour mettre en place:

ÉTAPE 1:

Supprimer tous les pythons de votre mac

 brew uninstall --ignore-dependencies --force python
 Sudo rm -rf ~/miniconda3/
 Sudo rm -rf ~/.conda/

Supprimer les éléments suivants de ~/.bash_profile

export PATH="/Users/ishandutta2007/miniconda3/bin:$PATH"

et aussi le suivant de ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packages/google:$PYTHONPATH
alias python="/usr/bin/python"

ÉTAPE 2 :

Installez pyenv et les versions python dont vous avez besoin

brew update
brew install pyenv
pyenv install 2.7
pyenv install 3.7.0

ÉTAPE 3 :

ajouter pyenv init à bash_profile ou bashrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

ÉTAPE 4 :

Vérifiez ce qui a été installé

pyenv versions
  • système (défini par /Users/ishandutta2007/.pyenv/version)

    2,7

    3.7.0

ÉTAPE 5:

Choisissez un défaut

pyenv global 3.7.0

Lorsqu'un projet a besoin d'une ancienne version, il suffit d'aller dans son dossier racine et de l'exécuter.

pyenv local 2.7
3
ishandutta2007

Utilisez asdf !

Ballade d'Asdf

Il était une fois un langage de programmation
Il en existe de nombreuses versions
Les gens ont donc écrit un gestionnaire de versions pour cela.
Pour basculer entre les versions des projets
Différent, ancien, nouveau.

Puis il y a eu plusieurs langages de programmation
Il y a donc eu plus de gestionnaires de versions
Et beaucoup de commandes pour eux

J'en ai installé beaucoup
J'ai appris beaucoup de commandes

Puis j'ai dit, juste un autre gestionnaire de version
Ce que je vais écrire à la place

Donc, il y avait un autre gestionnaire de version
gestionnaire de version asdf - https://github.com/asdf-vm/asdf

Un gestionnaire de version tellement extensible
pour lequel tout le monde peut créer un plugin
Soutenir leur langue préférée
Plus besoin d'installer plus de gestionnaires de versions
Ou apprendre plus de commandes

https://github.com/asdf-vm/asdf
https://github.com/tuvistavie/asdf-python
https://github.com/asdf-vm/asdf-plugins

1
Matt Schlobohm

Je pouvais simplement aller sur https://www.python.org/downloads/mac-osx/ et télécharger le dernier python. Il s’est installé en même temps que python dans mon système.

1
Christian Vielma

Je pensais que j'avais la même exigence: passer de Python versions à un autre - mais j'ai obtenu tout ce dont j'avais besoin avec uniquement Python3.6 en construisant à partir du source au lieu d'utiliser homebrew.

git clone https://git.<theThingYouWantToInstall>

Selon le référentiel, vérifiez si le fichier MAKE est déjà configuré pour cette option.

1
rustyMagnet