Avoir un problème étrange avec pip sur os x.
Autant que je me souvienne (et un rapide coup d'œil à mon .bash_history semble confirmer), je n'ai apporté aucune modification récente à ma configuration. Hélas, la commande pip semble soudainement utiliser une version de python différente de celle qu'elle était auparavant. Jusqu'à présent, j'utilisais la commande pip pour gérer mes bibliothèques python2 et pip3 pour le gérer à l'aide de bibliothèques python3. Soudainement, toute tentative d'exécution de l'installation du pip échoue avec des erreurs telles que des parenthèses manquantes autour des instructions d'impression.
Voici le résultat de quelques commandes que j'ai tenté de comprendre:
which pip > /usr/local/bin/pip
which pip3 > /usr/local/bin/pip3
which python > /usr/local/bin/python
python version > Python 2.7.11
pip --version > pip 8.1.1 from /usr/local/lib/python3.5/site-packages (python 3.5)
Donc, pour une raison quelconque, la commande pip semble fonctionner depuis la base de données PyPi2 mais en python3 maintenant? Une idée de comment réparer ça?
Je cours avec plusieurs versions de Python et donc plusieurs versions de pip.
Cependant, chaque fois que vous mettez à jour pip, vous remplacez la commande standard pip
par la version que vous avez mise à jour. Donc, même pip3 install --upgrade pip
mettra un /usr/local/bin/pip
dans votre système, dérangeant la version Python 2.
Au lieu de cela, je lance pip en tant que module (exécutable):
python3 -m pip search <package>
ou
python2 -m pip search <package>
ou même
python3.5 -m pip search <package>
Cela garantit que votre version pip
correspond toujours à la version Python pour laquelle vous souhaitez l'utiliser. Il est un peu plus long de taper, mais je préfère son caractère explicite (qui, je suppose, suit le zen de Python).
Notez que mettre à jour pip:
python3.5 -m pip install --upgrade pip
installera toujours une version Python 3.5 dans /usr/local/bin/pip
, mais je l’ignore simplement. Méfiez-vous des scripts (Shell) qui exécutent pip
directement.
J'ai eu exactement le même problème!
Je réinstalle python2 par brew brew reinstall python@2
après la réinstallation, pip install packagename
fonctionne!
Essayez de définir des alias en lançant les commandes suivantes dans Terminal,
alias pip="/usr/local/bin/pip"
alias pip2="/usr/local/bin/pip"
alias pip3="/usr/local/bin/pip3"
Si cela résout votre problème, vous devez ajouter les alias dans votre profil bash. Look Comment créer un alias Bash? pour plus d'informations.
Sinon, vous devez réinstaller pip en utilisant d'abord python2 get-pip.py
, puis python3 get-pip.py
get-pip.py peut être téléchargé ici https://bootstrap.pypa.io/get-pip.py
Trouvez le chemin absolu vers Python que vous souhaitez utiliser:
which python
Ouvrez votre script exécutable pip par défaut:
vi $(which pip)
Vous verrez une ligne Shebang en haut qui peut indiquer un mauvais Python (je l'avais aussi une fois).
Pointez sur le Python souhaité (voir l’étape 1), par exemple:
#!/usr/local/bin/python3.7