Python >> Tutoriel Python >  >> Python Tag >> PIP

pip ne fonctionne pas sur l'installation de hombrew python 2.7

Généralement, homebrew installera un formula en /usr/local/Cellar/formula puis placez un lien à /usr/local/bin/formula .

Pour utiliser vos formules installées, assurez-vous que /usr/local/bin est dans votre $PATH . Montrez votre $PATH en tapant

echo $PATH

Si /usr/local/bin n'est pas dans votre $PATH , placez cette ligne à la fin de votre ~/.profile fichier.

export PATH="/usr/local/bin:$PATH"

Maintenant, vérifiez ce que pythons se trouvent sur votre OSX en tapant :

which -a python

Il devrait y avoir un python trouvé à /usr/bin/ (le python Apple) et un à /usr/local/bin/ qui est le python Homebrew.

which python

vous montrera quel python se trouve en premier dans votre $PATH et sera exécuté lorsque vous invoquerez python .

Si vous voulez savoir où se trouve l'exécutable, affichez-le en tapant

ls -l $(which python)

Cela pourrait ressembler à ceci :lrwxr-xr-x 1 root wheel 68 7 Mai 13:22 python -> /usr/local/bin/python

Cela fonctionnera pour pip aussi.

Si vous montrez les résultats de ces étapes, nous pourrons probablement vous aider beaucoup plus facilement.

-- MISE À JOUR --

Vous avez /usr/local/bin/python lié à /usr/local/Cellar/python/2.7.9/bin/python . -> brew install python travaillé.

afficher, si pip est installé en tapant

brew list python | grep pip

Vous devriez voir

/usr/local/Cellar/python/2.7.9/bin/pip

Sinon, vérifiez s'il y a des liens qui ne sont pas faits avec brew install . Je vous ai dit quelque chose comme ça :

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

Pour forcer le lien et écraser tous les fichiers en conflit :

brew link --overwrite python

Pour lister tous les fichiers qui seraient supprimés :

brew link --overwrite --dry-run python

** PAS de norme Apple /usr/bin/python **

lien de /usr/local/Cellar/python/2.7.9/bin/python à /usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

Ceci est nécessaire pour tous les scripts python commençant par #!/usr/bin/python . Surtout easy_install échouera si le lien n'est pas là.

Maintenant, vous pouvez courir

easy_install pip

J'espère que vous faites des progrès


Si brew gère votre installation python et que pip n'est plus lié symboliquement (c'est-à-dire que vous tapez "quel pip" et n'obtenez aucun résultat), essayez ceci depuis votre répertoire personnel :

brew unlink python && brew link python

Je ne sais pas si l'ancienne méthode fonctionne plus (ce n'était pas le cas sur ma machine).

Confirmez maintenant qu'il pointe bien vers votre installation 2.7 avec pip --version (il listera la version majeure de python dans la sortie du répertoire).


Pas vraiment une réponse à la question initiale, mais si quelqu'un se retrouve ici parce que son python/pip installé par Homebrew ne fonctionnent plus (c'est-à-dire python pointe vers le système python et pip n'est pas trouvé) alors la raison pourrait être un changement récent (été 2017) dans la façon dont Homebrew installe et lie python.

La solution consiste à ajouter ce qui suit à ~/.bash_profile et/ou ~/.zshrc :

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

Cela fera python pointe vers la version brassée de python et vous donne également pip . Voir la section des mises en garde sous brew info python et https://github.com/Homebrew/homebrew-core/issues/15746 pour plus d'informations