J'ai besoin de pouvoir basculer entre Python 2 et 3. Comment faire cela en utilisant Homebrew car je ne veux pas jouer avec le chemin et avoir des ennuis. En ce moment, j'ai 2.7 installé via Homebrew.
J'ai besoin de pouvoir basculer entre Python 2 et 3. Comment faire cela en utilisant Homebrew car je ne veux pas jouer avec le chemin et avoir des ennuis. En ce moment, j'ai 2.7 installé via Homebrew.
Réponses:
J'utiliserais pyenv Vous pouvez l'installer:
$ brew install pyenv
Pour activer pyenv dans votre shell Bash, vous devez exécuter:
$ eval "$(pyenv init -)"
Pour faire cela automatiquement pour Bash au démarrage, ajoutez cette ligne à votre fichier ~/.bash_profile
. 1
Une fois que vous avez installé pyenv 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 de python avec la commande:
$ 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
1 Homebrew vous demandait de le faire lors de l'installation de pyenv, mais le message a été supprimé . Pour Zsh et d'autres coquilles, les étapes précises peuvent être différentes.
eval "$(pyenv init -)"
à mon .profile / .zshrc pour que pyenv fonctionne.
eval "$(pyenv init -)"
à votre ~ / .bash_profile
Vous pouvez installer les deux versions en même temps.
Depuis le 1er mars 2018, la python
formule sera mise à niveau vers Python 3.x, tandis qu'une nouvelle python@2
formule sera ajoutée pour Python 2.7, en particulier.
Voir l' annonce des modifications ici ou le document final sur l'utilisation de Homebrew pour Python ici .
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' python
exécutable. Lorsque vous souhaitez utiliser la version 3, utilisez l' python3
exécutable.
PYTHONPATH
à chaque changement ... une idée? à part ça, pyenv
c'est génial.
python3 -m pip install -U --force-reinstall pip
puis python -m pip install -U --force-reinstall pip
remis les choses à se pip
référer à Python 2 pip
.
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 la documentation Homebrew:
https://docs.brew.sh/Homebrew-and-Python
Si vous avez actuellement installé 2.x via Homebrew, Homebrew vous donnera un message tel que:
Error: python 2.7.14 is already installed
To upgrade to 3.6.5, run `brew upgrade python`
Si vous exécutez:
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.
Alternativement, 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.
Il existe des moyens d'utiliser les deux, mais la solution la plus simple aujourd'hui est d'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/
Supprimez les éléments suivants de ~/.bash_profile
export PATH="/Users/ishandutta2007/miniconda3/bin:$PATH"
et aussi ce qui suit 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 de 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
oubashrc
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 une valeur par défaut
pyenv global 3.7.0
Lorsqu'un projet a besoin d'une version plus ancienne, accédez simplement à son dossier racine et exécutez
pyenv local 2.7
Ballade d'Asdf
Il était une fois un langage de programmation
Il y avait de nombreuses versions de celui-ci
Donc les gens ont écrit un gestionnaire de version pour cela
Pour basculer entre les versions pour les projets
Différents, anciens, nouveaux.Puis il y a eu plus de langages de programmation
Donc il y a eu plus de gestionnaires de versions
Et de nombreuses commandes pour euxJ'en ai installé beaucoup
j'ai appris beaucoup de commandesPuis j'ai dit, juste un gestionnaire de version de plus
que j'écrirai à la placeDonc, il y a eu un autre gestionnaire de
version gestionnaire de version asdf - https://github.com/asdf-vm/asdfUn gestionnaire de versions si extensible
pour lequel n'importe qui peut créer un plugin
Pour prendre en charge sa langue préférée
Plus besoin d'installer plus de gestionnaires de versions
Ou d'apprendre plus de commandes
https://github.com/asdf-vm/asdf
https://github.com/tuvistavie/asdf-python
https://github.com/asdf-vm/asdf-plugins
Je pensais avoir la même exigence - passer d'une version à l'autre de Python - mais j'ai réalisé tout ce dont j'avais besoin avec seulement Python3.6 en construisant à partir des sources au lieu d'utiliser homebrew
.
git clone https://git.<theThingYouWantToInstall>
En fonction du dépôt, vérifiez s'il existe un fichier MAKE déjà configuré pour cette option.
J'ai pu simplement aller sur https://www.python.org/downloads/mac-osx/ et télécharger le dernier python. Il s'est installé aux côtés de python actuel dans mon système.
D'accord, j'avais du mal avec mon installation de brassage de Python3, car je n'avais pas pip3
sudo pip3 command not found
et ainsi j'ai fait
brew uninstall --force --ignore-dependencies python3
et installé le Python 3.6.2 régulier de la distribution officielle, puis j'ai eu pip3 et tous les composants étaient ok.