J'essaye 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
et /usr/bin/python
n'est pas un lien symbolique
Comment puis-je faire pour que la saveur python brew soit mon python par défaut?
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
source: discourse.brew.sh/t/…Réponses:
Lorsque vous utilisez Homebrew, la commande suivante donne une meilleure image:
Production:
la source
python2
est dans / usr / local / bin, pour justepython
; setexport PATH="/usr/local/opt/python/libexec/bin:$PATH"
in~/.bash_profile
Voir: Comment créer un lien symbolique python dans Homebrew?
la source
Solution rapide:
/etc/paths
Dans mon cas
/etc/paths
ressemble à: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/
la source
Comme suggéré par le programme d'installation homebrew lui-même, assurez-vous d'ajouter ceci à votre
.bashrc
ou.zshrc
:la source
.zshrc
fichier et non le.bashrc
fichier qui doit changer.J'ai fait "brew install python" pour OSX High Sierra. Le
$PATH
avait/usr/local/bin
avant tout autre chemin maiswhich python
pointait toujours vers le python du système.Quand j'ai regardé plus en profondeur, j'ai trouvé qu'il n'y avait pas d'exécutable python
/usr/local/bin
. L'exécutable est nommépython2
. Pour résoudre ce problème, créez un lien symboliquepython
pointant verspython2
:/usr/local/bin $: ln -s python2 python
la source
Homebrew ne remplace PAS les éléments de "/ usr / bin". Vous voudrez juste mettre "/ usr / local / bin" avant "/ usr / bin" dans votre chemin, puis "quel python" vous donnera "/ usr / local / bin / python".
Le remplacement de / usr / bin / python (ou / usr / bin / ruby) est fortement déconseillé.
la source
python
la formule utilise maintenantpython3
(v3.6.5 pour le moment), brew liera le répertoire :il liera également le binaire :
Si vous devez encore utiliser
python2.x
, utilisez:Pour utiliser les homebrews
python
, mettez simplement son répertoire dans PATH, pour bash:pour le poisson:
Remarque:
python
/usr/local/share/python
dans les anciennes versions.la source
python3
dans votre chemin - pas un exécutable appelépython
.. Spécifiquement référencer/usr/local/opt/python/libeexec/bin
avant d'autres répertoires dans mon chemin a trié les choses.Modifiez votre $ PATH, ajoutez ceci dans votre bashrc ou bash_profile:
plus cliquez ici: Issue # 89791
la source
Vous devez éditer votre variable d'environnement PATH pour vous assurer que l'endroit où se trouve le homebrew python est recherché avant / usr / bin. Vous pouvez également configurer les éléments dans votre configuration de shell pour qu'une variable telle que PYTHON soit définie sur la version souhaitée de python et appelée
$PYTHON
plutôt qu'àpython
partir de la ligne de commande.De plus, comme l'a déclaré un autre poster (et en particulier sur mac), NE PAS jouer avec le python dans / usr / bin pour le pointer vers une autre installation de python. Vous demandez simplement des ennuis si vous le faites.
la source
Je l'ai fait
brew install python
,$PATH
c'était bon, mais encore,which python
m'a donné le système installé. Le redémarrage du terminal l'a corrigé.la source
brew install python
, puis redémarrer le terminal, et rien d'autre? Pas besoin debrew unlink
&brew link
?hash -r
brew unlink & brew link
plusieurs fois. Seulement nécessaire pour redémarrer le terminalpython
pointe maintenant verspython3
, si vous avez besoin,python 2
faites alors:brew install python@2
et puis dans votre fichier .zshrc ou .bashrcexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Maintenant,pyhon --version
= Python 2.7.14 etpython3 --version
= Python 3.6.4. C'est le comportement que j'ai l'habitude de voir dans mon terminal.la source
Je pense qu'il existe des moyens de rendre python homebrew par défaut, mais à mon avis, la bonne façon de résoudre un problème est de ne pas jouer avec les chemins python système: il est préférable de créer un virtualenv dans lequel python homebrew serait par défaut (en utilisant virtualenv - option -python). Utiliser des outils comme
python_select
c'est presque toujours une mauvaise idée.la source
Utilisez plutôt pyenv pour installer et basculer entre les versions de Python. J'utilise rbenv depuis des années, ce qui fait la même chose, mais pour Ruby. Avant cela, c'était l'enfer de gérer les versions.
Consultez la page github de pyenv pour les instructions d'installation. En gros, cela va comme ceci: - Installez pyenv en utilisant homebrew.
brew install pyenv
- Ajoutez une fonction à la fin de votre script de démarrage shell pour que pyenv puisse faire la magie.echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
pyenv install 3.7.7
.pyenv global 3.7.7
.pyevn local
. Cela crée un fichier dans le dossier de votre projet qui spécifie la version python. Pyenv cherchera à remplacer la version globale de python par la version de ce fichier.la source
Faites simplement:
Après cela, ajoutez ceci à votre bashrc ou bash_profile:
Prendre plaisir!
la source
link
commandes dans les réponses ici,/usr/local/bin
sont pourpython2
au lieu depython
. Utiliser un alias pour contourner ce problème semble être une mauvaise idée, mais je n'ai encore rien trouvé de mieux.cp /usr/local/bin/python2 /usr/local/bin/python
et cela a semblé bien fonctionner. Est-ce une solution de contournement encore plus moche?Ajoutez
/usr/local/opt/python/libexec/bin
explicitement le à votre.bash_profile
:Après cela, cela devrait fonctionner correctement.
la source
Si vous êtes une coquille de poisson
la source
Vous pouvez modifier / etc / chemins. Voici le mien:
Ajoutez ensuite un lien symbolique pour la version python. Dans mon cas
Voila!
la source
Depuis High Sierra, vous devez utiliser:
C'est parce que
/usr/local
ne peut plus être choppéla source
Aucune idée de ce que vous voulez dire avec Python par défaut. Je considère que c'est une mauvaise pratique de remplacer l'interpréteur système Python par une version différente. La fonctionnalité du système peut dépendre d'une certaine manière du système Python et de modules spécifiques ou d'une version spécifique de Python. Au lieu de cela, installez vos installations Python personnalisées dans un autre endroit sûr et ajustez votre $ PATH selon vos besoins afin de vous appeler Python via une recherche de chemin au lieu de rechercher le Python par défaut.
la source