281 votes

Comment utiliser le Python installé par Brew comme Python par défaut ?

J'essaie de passer à Homebrew (après avoir utilisé fink et macport) sur Mac OS X 10.6.2. J'ai installé python 2.7 avec

brew install python 

Le problème est que, contrairement à Macport, il semble qu'il n'y ait pas d'utilitaire python_select, et mon mac python par défaut est toujours par défaut

which python

donnez-moi

/usr/bin/python

y /usr/bin/python n'est pas un lien symbolique

Comment puis-je faire pour que python brew flavour devienne mon python par défaut ?

23 votes

Homebew ne fait plus d'ombre à l'installation système de python. Vous pouvez le faire : export PATH="/usr/local/opt/python/libexec/bin:$PATH" source : discourse.brew.sh/t/

3 votes

J'ai essayé toutes les réponses mentionnées, /usr/local/bin vient avant /usr/bin dans mon $PATH. J'ai essayé brew link et unlink, brew doctor n'a pas signalé que le fait que /usr/bin soit avant /usr/local/bin était un problème. Pourtant, lorsque je fais quoi python, j'obtiens /usr/bin/python et non celui installé avec brew.

1 votes

Essayer... qui python2

133voto

Vishal Points 4548

Comme vous utilisez Homebrew, la commande suivante donne une meilleure image :

brew doctor

Sortie :

\==> /usr/bin se trouve avant /usr/local/bin Cela signifie que les programmes fournis par le système seront utilisés au lieu de ceux fournis par Homebrew. C'est un problème si, par exemple, vous avez installé Python avec Brew.

Envisagez de modifier votre .bash_profile pour mettre : /usr/local/bin à la place de /usr/bin dans votre $PATH.

4 votes

Assurez-vous que vous n'avez pas /user/local/bin DEUX FOIS dans votre chemin. Pour une raison quelconque, dans mon PATH, il apparaissait à la fois avant et après /usr/bin et cela me rendait fou.

1 votes

De nombreux programmes utilisent /usr/bin/python dans l'en-tête, ce qui ne constitue pas une solution viable.

6 votes

Pour le brassage dans High Sierra seulement python2 est dans /usr/local/bin, pour simplement python ; set export PATH="/usr/local/opt/python/libexec/bin:$PATH" en ~/.bash_profile

108voto

akauppi Points 3125

Voir : Comment faire un lien symbolique avec python dans Homebrew ?

$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python

14 votes

Pourquoi cela n'arrive-t-il pas lorsque je fais une installation de python par brassage ?

4 votes

@BenWest parce que python3, maintenant vous avez python2 plutôt que python.

0 votes

@theonlygusti c'est probablement dû à la protection de l'intégrité du système.

68voto

tschundeee Points 9241

Une solution rapide :

  1. Ouvrir /etc/paths
  2. Modifier l'ordre des lignes (la plus haute priorité en haut)

Dans mon cas /etc/paths ressemble :

/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

Si vous voulez en savoir plus sur les chemins dans OSX, j'ai trouvé cet article très utile :

http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/

2 votes

Merci, toutes les réponses ci-dessus ont résolu mon problème, mais la vôtre l'a fait ! Merci beaucoup !

7 votes

Le problème avec cette méthode est qu'elle le change pour tous les utilisateurs :/, IMO il est préférable de changer quelque chose de plus spécifique.

1 votes

@RandallHunt comme quoi et comment ?

24voto

Adam Vandenberg Points 8098

Homebrew ne remplace PAS le contenu de "/usr/bin". Vous devez simplement mettre "/usr/local/bin" avant "/usr/bin" dans votre chemin, puis "which python" vous donnera "/usr/local/bin/python".

Remplacer /usr/bin/python (ou /usr/bin/ruby) est fortement déconseillé.

2 votes

Mais ce n'est pas le cas !

10voto

JoshAdel Points 15911

Vous devez modifier votre variable d'environnement PATH pour vous assurer que l'endroit où se trouve le python homebrew est recherché avant /usr/bin. Vous pouvez également configurer votre shell pour qu'une variable comme PYTHON soit définie comme la version de python que vous souhaitez et appeler $PYTHON plutôt que python à partir de la ligne de commande.

De plus, comme l'a dit un autre poster (et surtout sur mac) NE PAS modifier le python dans /usr/bin pour le diriger vers une autre installation python. Vous vous exposez à des problèmes si vous le faites.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X