J'essaie de passer à Homebrew (après avoir utilisé fink et macport) sous 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 default
which python
donnez-moi
/usr/bin/python
et /usr/bin/python
n'est pas un lien symbolique
Comment puis-je faire pour que la saveur d'infusion de python soit mon python par défaut?
Comme vous utilisez Homebrew, la commande suivante donne une meilleure image:
brew doctor
Sortie:
==>/usr/bin apparaît avant/usr/local/bin Cela signifie que les programmes fournis par le système seront utilisés à la place de ceux fournis par Homebrew. Ceci est un problème si vous par exemple. brassée installé Python.
Pensez à éditer votre fichier .bash_profile pour mettre:/usr/local/bin devant /usr/bin dans votre $ PATH.
Voir: Comment faire un lien symbolique python dans Homebrew?
$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python
Solution rapide:
/etc/paths
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 plutôt utile:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
J'ai fait "brasser installer python" pour OSX High Sierra. Le $PATH
avait /usr/local/bin
avant tout autre chemin, mais which python
pointait vers le python du système.
Quand j'ai regardé plus profondément, j'ai constaté qu'il n'y a pas d'exécutable en python à /usr/local/bin
. L'exécutable s'appelle python2
. Pour résoudre ce problème, créez un lien symbolique python
pointant vers python2
:
/usr/local/bin $: ln -s python2 python
Comme suggéré par l'installateur homebrew lui-même, assurez-vous de l'ajouter à votre .bashrc
ou .zshrc
:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Homebrew ne remplace PAS des éléments de "/ usr/bin". Vous voudrez simplement mettre "/ usr/local/bin" avant "/ usr/bin" dans votre chemin, puis "quel python" vous donnera "/ usr/local/bin/python".
Remplacer/usr/bin/python (ou/usr/bin/Ruby) n’est pas recommandé.
La formule python
utilise maintenant python3
(v3.6.5 pour l'instant), brassera le répertoire répertoire :
/usr/local/opt/python -> ../Cellar/python/3.6.5
il reliera également le binaire :
/usr/local/bin/python3 -> ../Cellar/python/3.6.5/bin/python3
Si vous devez toujours utiliser python2.x
, utilisez:
brew install python@2
Pour utiliser la variable python
de homebrew, il suffit de mettre son répertoire dans PATH, pour bash:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
pour les poissons:
set -x PATH /usr/local/opt/python/libexec/bin $PATH
Remarque:
python
/usr/local/share/python
dans les versions antérieures.Modifiez votre $ PATH, ajoutez ceci dans votre bashrc ou bash_profile:
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
plus cliquez ici: Issue # 89791
Vous devez modifier votre variable d'environnement PATH pour vous assurer que la recherche est effectuée partout où se trouve l'homebrew python avant/usr/bin. Vous pouvez également configurer votre configuration de shell pour qu'une variable telle que PYTHON soit définie sur la version de python souhaitée et appelez $PYTHON
plutôt que python
à partir de la ligne de commande.
En outre, comme l'a dit une autre affiche (et en particulier sur mac), NE PAS foirer le python dans/usr/bin pour le diriger vers une autre installation de python. Vous ne faites que demander des ennuis si vous le faites.
J'ai fait brew install python
, mon $PATH
était bon, mais néanmoins, which python
m'a donné le système installé. Le redémarrage du terminal l'a corrigé.
Je pense qu’il ya des moyens de faire de homebrew python default, mais à mon avis la bonne façon de résoudre un problème est de ne pas déranger les chemins du système python: il est préférable de créer un virtualenv dans lequel homebrew python serait default (en utilisant virtualenv - option -python). Utiliser des outils tels que python_select
est presque toujours une mauvaise idée.
python
pointe maintenant sur python3
; si vous avez besoin de python 2
, faites alors: brew install python@2
puis dans votre fichier .zshrc ou .bashrcexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Maintenant, pyhon --version
= Python 2.7.14 et python3 --version
= Python 3.6.4. C'est le comportement que j'ai l'habitude de voir dans mon terminal.
Il suffit de faire:
brew install python
brew link python
Après cela, ajoutez ceci à votre bashrc ou bash_profile:
alias python='/usr/local/bin/python2'
Prendre plaisir!
Depuis High Sierra, vous devez utiliser:
Sudo chown -R $(whoami) $(brew --prefix)/*
C'est parce que /usr/local
ne peut plus être chondé
Ajoutez explicitement le /usr/local/opt/python/libexec/bin
à votre .bash_profile
:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Après cela, cela devrait fonctionner correctement.
Vous pouvez éditer/etc/chemins. Voici le mien:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Ajoutez ensuite un lien symbolique pour la version python. Dans mon cas
$ cd /usr/local/bin
$ ln -s python3 python
Voila!