J'ai installé python en utilisant homebrew et je ne peux pas invoquer pip depuis le bash. J'ai essayé d'amender mon fichier .bash_profile pour y inclure/usr/local/bin/python et/usr local/share/python, mais en vain.
Quand j'utilise la commande bash:
find / -name 'pip'
Les seuls résultats que je reçois sont:
/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.Egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip
Aucun de ceux qui sont un exécutable.
Je ne sais pas vraiment où diriger mon $ PATH car je ne trouve pas l'exécutable pip. Quand j'ouvre
/usr/local/lib/python2.7/site-packages/pip
ou
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
Je trouve les fichiers suivants:
__init__.py commands operations
__init__.pyc compat pep425tags.py
__main__.py download.py pep425tags.pyc
__main__.pyc download.pyc req
_vendor exceptions.py status_codes.py
basecommand.py exceptions.pyc status_codes.pyc
basecommand.pyc index.py utils
baseparser.py index.pyc vcs
baseparser.pyc locations.py wheel.py
cmdoptions.py locations.pyc wheel.pyc
cmdoptions.pyc models
Aucun de ceux qui sont un exécutable.
J'apprécierais l'aide de toute personne ayant plus d'expérience que moi.
Edit: j'ai essayé les étapes proposées par Marco:
Voici les résultats aux étapes:
echo $ PATH affiche quelques répertoires:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/opt/X11/bin:/usr/local/mysql/bin
auquel -a un python retourne:/usr/local/bin/python/usr/local/bin/python
rien n'est retourné pour lequel -a pip
rien n'est retourné pour quel pip
ls -l $ (quel pip) en renvoie plusieurs, y compris les fichiers python que j'ai montrés dans mon message d'origine
Généralement, homebrew
installera une formula
dans /usr/local/Cellar/formula
, puis placera un lien à /usr/local/bin/formula
.
Pour utiliser vos formules installées, assurez-vous que /usr/local/bin
est bien dans votre $PATH
. Affichez votre $PATH
en tapant
echo $PATH
Si /usr/local/bin
ne figure pas dans votre $PATH
, insérez cette ligne à la fin de votre fichier ~/.profile
.
export PATH="/usr/local/bin:$PATH"
Maintenant, vérifiez ce que pythons
trouve 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 indiquera quel python se trouve en premier dans votre $PATH
et sera exécuté lorsque vous appelez 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 roue de base 68 7 mai 13:22 python ->/usr/local/bin/python
Cela fonctionnera aussi pour pip
.
Si vous affichez les résultats de cette procédure, nous pourrons probablement vous aider beaucoup plus facilement.
-- METTRE À JOUR --
Vous avez /usr/local/bin/python
lié à /usr/local/Cellar/python/2.7.9/bin/python
. -> brew install python
travaillé.
show, si pip
est installé en tapant
brew list python | grep pip
Tu devrais voir
/usr/local/Cellar/python/2.7.9/bin/pip
Si ce n'est pas le cas, vérifiez s'il existe des liens qui ne sont pas définis 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
** AUCUN Apple standard /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
. Especialy 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 "which pip" et n’obtenez aucun résultat), essayez ceci depuis votre répertoire personnel:
brew unlink python && brew link python
Pas sûr que l'ancienne méthode fonctionne plus (cela ne s'est pas passé sur ma machine).
Confirmez maintenant qu’il pointe bien sur votre installation de la version 2.7 avec pip --version
(la version majeure de Python sera listée 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 fonctionne plus (c'est-à-dire que python
pointe vers le système python et que pip
n'est pas trouvé), alors la raison pourrait être récente (été 2017) changer la manière dont Homebrew installe et relie python.
La solution consiste à ajouter les éléments suivants à ~/.bash_profile
et/ou ~/.zshrc
:
export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
python
indique ainsi la version brassée de python et vous donne également pip
. Voir la section des avertissements sous brew info python
et https://github.com/Homebrew/homebrew-core/issues/15746 pour plus d'informations.
Par défaut, Homebrew fournit un pip via: brew install python
. Cependant, vous aurez ensuite deux Pythons installés sur votre Mac. Vous pouvez également l’installer via:
Sudo easy_install pip
Pour vérifier quels fichiers sont installés avec votre paquet Python, essayez:
$ brew list python
/usr/local/Cellar/python/2.7.9/bin/pip
/usr/local/Cellar/python/2.7.9/bin/pip2
/usr/local/Cellar/python/2.7.9/bin/pip2.7
...
qui devrait consister pip
.
Après l'installation, vous devez créer un lien symbolique avec les fichiers installés de votre formule en:
brew link python
qui devrait créer les bons liens symboliques (tels que /usr/local/bin/pip
pointant vers votre Cellar/python/2.?.?/bin/pip
)
Si vous avez un problème de permission, vous pouvez le résoudre en:
Sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
Sudo chmod -R g+w /usr/local /Library/Caches/Homebrew
et assurez-vous que votre utilisateur est dans le groupe admin (id -Gn $USER
).
Après avoir corrigé les autorisations, n'utilisez pas Sudo
lorsque vous utilisez la commande brew
.
Puis reconnectez-le à nouveau:
brew unlink python && brew link python
Pour tester le fonctionnement à sec, dissociez et exécutez: brew link -n python
pour afficher les liens de fichiers que brew
créerait.
Une fois la liaison établie, assurez-vous que votre variable système PATH a /usr/local
, sinon, ajoutez:
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
dans votre fichier ~/.bashrc
.
En cas de succès, votre pip
devrait fonctionner maintenant.