web-dev-qa-db-fra.com

Comment faire en sorte que Mac OS utilise le python installé par Homebrew

J'ai cherché en ligne pendant un certain temps pour cette question, et ce que j'ai fait jusqu'à présent est 

  1. installé python32 dans l'homebrew

  2. a changé mon fichier .bash_profile et y a ajouté la ligne suivante:

export PATH =/usr/local/bin:/usr/local/sbin: ~/bin: $ PATH

mais quand je ferme le terminal et que je recommence, je tape 'quel python', il affiche toujours:

/ usr/bin/python

et tapez 'python --version' toujours eu:

Python 2.7.2

J'ai aussi essayé l'instruction suivante:

lien brassage - overwrite python

ou essayez de supprimer python installé par homebrew en lançant cette instruction:

brasser enlever python

mais les deux instructions ci-dessus conduisent toutes deux à cette erreur:

Erreur: Aucun de ces fûts:/usr/local/Cellar/python

quelqu'un peut-il aider, merci

13
photosynthesis

Si vous souhaitez installer Python 3 avec Homebrew:

$ brew install python3
==> Downloading http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
Already downloaded: /Library/Caches/Homebrew/python3-3.3.0.tar.bz2
==> ./configure --prefix=/usr/local/Cellar/python3/3.3.0 --enable-ipv6 --datarootdir=/usr/local/Cell
==> make
==> make install PYTHONAPPSDIR=/usr/local/Cellar/python3/3.3.0
==> make frameworkinstallextras PYTHONAPPSDIR=/usr/local/Cellar/python3/3.3.0/share/python3
==> Downloading https://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
Already downloaded: /Library/Caches/Homebrew/distribute-0.6.35.tar.gz
==> /usr/local/Cellar/python3/3.3.0/bin/python3.3 -s setup.py install --force --verbose --install-li
==> Downloading https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/pip-1.3.1.tar.gz
==> /usr/local/Cellar/python3/3.3.0/bin/python3.3 -s setup.py install --force --verbose --install-li
==> Caveats
Homebrew's Python3 framework
  /usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework

Distribute and Pip have been installed. To update them
  pip3 install --upgrade distribute
  pip3 install --upgrade pip

To symlink "Idle 3" and the "Python Launcher 3" to ~/Applications
  `brew linkapps`

You can install Python packages with
  `pip3 install <your_favorite_package>`

They will install into the site-package directory
 /usr/local/lib/python3.3/site-packages
Executable python scripts will be put in:
 /usr/local/share/python3
so you may want to put "/usr/local/share/python3" in your PATH, too.

See: https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python

Une fois installé, mettez à jour votre variable système PATH, ajoutez la ligne suivante à ~/.bash_profile

export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH

Et alors:

$ source ~/.bash_profile

Maintenant lancez Python:

$ python3
Python 3.3.0 (default, Mar 26 2013, 10:01:40) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Vous pouvez vérifier le chemin python3:

$ which python3
/usr/local/bin/python3
15
jabaldonedo

Vous pouvez essayer d’ajouter cette ligne à votre .bash_profile

alias python='python3'
5
Pan Long

brew install python3 mentionne:

Liens symboliques non versionnés python, python-config, pip etc. pointant vers export PATH =/usr/local/bin:/usr/local/sbin: ~/bin: $ PATH python3, python3-config, pip3 etc., respectivement, ont été installés dans /usr/local/opt/python/libexec/bin

Donc, ajouter export PATH=/usr/local/opt/python/libexec/bin:$PATH à ~/.bash_profile puis exécuter source ~/.bash_profile vous donnera ces liens symboliques créés par Homebrew - python = python3, pip = pip3 etc :)

$ python --version

Python 3.7.0

$ pip --version

pip 18.0 depuis /usr/local/lib/python3.7/site-packages/pip (python 3.7)

1
Callum M

De $ brew info python:

Cette formule installe un exécutable python2 dans /usr/local/bin. Si vous souhaitez avoir l'exécutable python de cette formule dans votre PATH, ajoutez les éléments suivants dans ~/.bash_profile: export PATH = "/ usr/local/opt/python/libexec/bin: $ PATH"

Confirmez ensuite que votre exécutable python correspond à la bonne installation:

$ which python ou

$ python --version

0
kip2

Je suis passé par le même problème et fait des recherches. J'ai constaté que quelqu'un avait créé un bogue pour le même problème sous Azure/cli repository. Vous pouvez trouver ce problème ici . Je fournis la même solution ici qui était très facile et corrige mon problème:

Très probablement, le Brew est cassé et nécessite des corrections ou des réparations. Donc, lancez la commande brew doctor qui vous donnera un résumé de ce qui se passe . Voici ce que j'ai obtenu:

mymac:bin sidmishra$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: The following directories do not exist:
/usr/local/sbin

You should create these directories and change their ownership to your account.
  Sudo mkdir -p /usr/local/sbin
  Sudo chown -R $(whoami) /usr/local/sbin

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/LibSideSyncOSX9.dylib
  /usr/local/lib/ss_conn_lib.dylib

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  python

Le gros avantage de la commande brew doctor est qu’elle vous indique non seulement les problèmes, mais vous suggère également la solution dans la plupart des cas. J'ai donc exécuté toutes les commandes suggérées par le brasseur et pour lier la commande suivante:

brew link python

La commande ci-dessus m'a lancé une erreur:

mymac$ brew link python
Linking /usr/local/Cellar/python/3.7.1... Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks/Python.framework

Il semble que /urs/local/Frameworks ne dispose pas de suffisamment de droits pour mon utilisateur actuel. J'ai donc exécuté la commande suivante et attribué suffisamment de droits à mon utilisateur actuel:

Sudo chown -R $(whoami) /usr/local/Frameworks/

Après avoir exécuté la commande ci-dessus, j'ai relancé la commande de liaison, et cela a fonctionné !!!

mymac$ brew link python
Linking /usr/local/Cellar/python/3.7.1... 1 symlinks created

Maintenant, lancez la commande suivante pour obtenir la version actuelle de python sélectionnée:

python --version

La commande ci-dessus devrait vous donner 3.7.1 (à partir du 21 décembre 2018) ou une nouvelle version pour le python. Il se peut que votre Mac ait python2 défini par défaut. Si la version n'est pas python3, vous devez suivre quelques étapes pour utiliser la version la plus récente de python3 sur python2. Voici les étapes:

Utiliser Shell:

  • Ouvrez ~/.bash_loginou ~/.bash_profileou ~/.cshrcou ~/.profileou ~/.tcshrcou ~/.zprofile, quel que soit le shell que vous utilisez pour les commandes, en mode édition. Vous devrez peut-être utiliser Sudo pour les éditer.
  • Ajoutez-y les étapes suivantes:

    PATH = "/ Library/Frameworks/Python.framework/Versions/3.2/bin: $ {PATH}" Export PATH

  • Ajoutez également ce qui suit pour la sauvegarde:

    alias python = python3

OU Utilisation de l'homebrew:

Exécutez les commandes suivantes pour dissocier python2 et lier python3:

mymac$ brew unlink python@2
mymac$ brew link python@3

Ci-dessus dissocieront python2 et lieront python3.

J'espère que certains d'entre vous seront aidés par cette réponse.

Bonne journée!!!

0
S.Mishra