Je ne sais pas quel est le problème, mais je suis coincé à suivre certaines solutions de stackoverflow qui ne mènent nulle part. Pouvez-vous m'aider à ce sujet?
Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
python
macos
installation
pip
osx-mavericks
Mona Jalal
la source
la source
pip3 install --upgrade pip
comme l'a souligné @Excalibur dans un commentaire plus bas.Je suppose que vous avez deux installations python, ou deux installations pip, dont l'une a été partiellement supprimée.
Pourquoi utilisez-vous
sudo
? Idéalement, vous devriez pouvoir tout installer et tout exécuter à partir de votre compte utilisateur au lieu d'utiliser root. Si vous mélangez root et votre compte local, vous êtes plus susceptible de rencontrer des problèmes d'autorisations (par exemple, consultez l'avertissement qu'il donne à propos de "le répertoire parent n'appartient pas à l'utilisateur actuel").Qu'est-ce que vous obtenez si vous exécutez ceci?
Cela vous montrera quel binaire python
pip
essaie d'utiliser. S'il pointe/usr/local/opt/python/bin/python2.7
, essayez d'exécuter ceci:$ ls -al /usr/local/opt/python/bin/python2.7
Si cela dit "Aucun fichier ou répertoire de ce type", alors pip essaie d'utiliser un binaire python qui a été supprimé.
Ensuite, essayez ceci:
$ which python $ which python2.7
Pour voir le chemin du binaire python qui fonctionne réellement.
Puisqu'il semble que pip a été installé avec succès quelque part, il se peut que cela
/usr/local/bin/pip
fasse partie d'une ancienne installation de pip qui se trouve plus haut sur lePATH
. Pour tester cela, vous pouvez essayer de déplacer lepip
binaire qui ne fonctionne pas comme ceci (peut nécessitersudo
):Ensuite, essayez à
pip --version
nouveau d' exécuter votre commande. Espérons qu'il récupère la bonne version et s'exécute avec succès.la source
sudo /usr/bin/easy_install pip
- Je l'ai trouvé ici: stackoverflow.com/questions/27308234/…Seule solution sous OSX et sa variante.
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
la source
Pépin de fixation
Pour cette erreur:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
La source de ce problème est un mauvais chemin python codé en dur dans pip (ce qui signifie qu'il ne sera pas corrigé en changeant par exemple votre $ PATH). Ce chemin n'est plus codé en dur dans la dernière version de pip, donc une solution qui devrait fonctionner est:
Mais bien sûr, cette commande utilise pip, donc elle échoue avec la même erreur.
La façon de vous sortir de ce désordre:
which pip
#!/usr/local/opt/python/bin/python2.7
par exemple#!/usr/local/opt/python2/bin/python2.7
(notez le python2 dans le chemin), ou n'importe quel chemin vers un interpréteur python fonctionnel sur votre machine.pip install --upgrade pip
(cela écrase votre hack et fait fonctionner pip avec la dernière version, où le problème d'interprétation devrait être résolu)Correction de virtualenv
Pour moi, j'ai trouvé ce problème en ayant d'abord le même problème de virtualenv:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
La solution ici est de courir
Si l'exécution de cette commande donne la même erreur à partir de pip, voir ci-dessus.
la source
pip3 install --upgrade pip
)J'ai fait la même erreur en utilisant sudo pour mon installation. (Oups)
Cela a tout ramené à la normale.
la source
Parce que j'avais à la fois python 2 et 3 installés sur Mac OSX, j'avais toutes sortes d'erreurs.
J'ai utilisé lequel pour trouver l'emplacement de mon fichier python2.7 (/usr/local/bin/python2.7)
which python2.7
Ensuite, j'ai lié symboliquement mon emplacement d'installation réel python2.7 avec celui que le script attendait:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
la source
J'ai eu un problème similaire. Fondamentalement, pip cherchait un mauvais chemin (ancien chemin d'installation) ou python. La solution suivante a fonctionné pour moi:
which python
)/usr/local/bin/pip2.7
et/usr/local/bin/pip
). La ligne doit indiquer le chemin correct vers le chemin python. Dans mon cas, non. Je l'ai corrigé et maintenant cela fonctionne très bien.la source
Au cas où cela aiderait quelqu'un, la solution mentionnée dans cette autre question a fonctionné pour moi lorsque pip a cessé de fonctionner aujourd'hui après sa mise à niveau: Pip cassé après la mise à niveau
Il semble que ce soit un problème lorsqu'un emplacement précédemment mis en cache change, vous pouvez donc actualiser le cache avec cette commande:
la source
Pour simplifier l'opération, nous pouvons utiliser la commande ci-dessous pour réinstaller la version 2:
brew install python@2
Ensuite, sur mon mac, il ressemble à ci-dessous:
▶ python -V Python 2.7.10 ▶ python2 -V Python 2.7.14 ▶ python3 -V Python 3.6.5 ▶ pip2 -V pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7) ▶ pip3 -V pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6) ▶ pip --version pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
la source
reinstall
commande dansbrew
:brew reinstall python@2
J'ai eu le même problème. J'ai installé Python 2.7 et 3.6. Python 2.7
virtualenv
fonctionnait, mais après l'installation de Python3, virtualenv a continué à rechercher la version 2.7 et ne l'a pas trouvée. Doing apip install virtualenv
installé la version Python3 de virtualenv.Ensuite, pour chaque commande, si je veux utiliser Python2, j'utiliserais
virtualenv --python=python2.7 somecommand
la source
J'ai eu le même problème, virtualenv pointait vers un ancien chemin python. La réparation du chemin a résolu le problème:
$ virtualenv -p python2.7 env -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory $ which python2.7 /opt/local/bin/python2.7 # needed to change to correct python path $ head /usr/local/bin/virtualenv #!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE #!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH # now it works: $ virtualenv -p python2.7 env Running virtualenv with interpreter /opt/local/bin/python2.7 New python executable in env/bin/python Installing setuptools, pip...done.
la source
J'ai le même problème. Si je cours
brew link --overwrite python2
. Il y en avait encorezsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.Résolu! Nous pouvons maintenant utiliser le fabric de la version python2.
=== 25/07/2018 mis à jour
Il existe un moyen pratique d'utiliser la version fab de python2 lorsque votre os python est lié à python3.
.sh
pour votre commande.# fab python2 cd /usr/local/opt rm python ln -s python2 python # use the fab cli ... # link to python3 cd /usr/local/opt rm python ln -s python3 python
J'espère que cela t'aides.
la source
La modification de la première ligne de ce fichier a fonctionné pour moi:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
avant
#!/usr/local/opt/python/bin/python3.7
après
#!/usr/local/Cellar/python/3.7.3/bin/python3
la source
Tout ce que vous avez à faire est ... de fermer la fenêtre du terminal et d'en rouvrir une nouvelle pour résoudre ce problème.
Le problème est que le nouveau chemin python n'est pas ajouté à bashrc (la fenêtre source ou la nouvelle fenêtre de terminal aiderait).
la source
Dans mon cas, j'ai décidé de supprimer l'installation homebrew python de mon mac car j'avais déjà deux autres versions de python installées sur mon mac via MacPorts. Cela a provoqué le message d'erreur.
La réinstallation de python via brew a résolu mon problème.
la source
cette commande a fonctionné pour moi
la source
Pour moi, sur centOS 7, j'ai dû supprimer l'ancien lien pip de / bin en
puis reliez-le avec
sudo ln -s /usr/local/bin/pip2.7 /bin/pip2.7
Puis si
/usr/local/bin/pip2.7
Fonctionne, cela devrait fonctionner
la source
Vous pouvez avoir deux versions différentes de Python et pip.
Essayez de:
pip2 install --upgrade pip
puispip2 install -r requirements.txt
Ou
pip3
si vous utilisez une version plus récente de Python.la source
TLDR:
pip
trouvé dans votre chemin a est un lien symbolique et l'emplacement référencé ne contient plus l'exécutable. Vous devez mettre à jour le lien symbolique.Cela aide à comprendre plusieurs choses.
python
ou,pip
vous rechercherez/etc/paths
pour essayer de trouver l'exécutable associé à cette commande. Vous pouvez tout voir là-dedans en utilisantcat /etc/paths
.which
, vous pouvez taperwhich python
ouwhich pip
. Cela vous indiquera l'emplacement de l'exécutable que votre shell utilisera pour cette commande./etc/paths
contenir/usr/local/bin
, c'est aussi commun pour/usr/local/bin
être un tas de liens symboliques vers les exécutables réels. Pas les exécutables eux-mêmes.bad interpreter: No such file or directory
Cela étant dit, le problème est probablement
pip
lié à un lien symbolique et l'exécutable lié n'existe probablement plus à cet emplacement. Pour résoudre ce problème, procédez comme suitwhich pip
(donne quelque chose comme ça/usr/local/bin/pip
)ls -l /usr/local/bin/pip | grep pip
(donnez quelque chose comme çapip -> /usr/local/opt/[email protected]/bin/pip3
)ls /usr/local/opt/[email protected]/bin/pip3
(vous rencontrez ce problème donc probablement pas).rm -r /usr/local/bin/pip
pip
exécutable si vous utilisezhomebrew
ce sera/usr/local/opt
vous pouvez utiliser quelque chose commels /usr/local/opt/ | grep python
pour le trouver.ln -s /usr/local/opt/[email protected]/bin/pip3 /usr/local/bin/pip
la source