Não sei qual é o problema, mas estou preso seguindo algumas soluções de stackoverflow que não levam a lugar nenhum. Você pode me ajudar nisso?
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
fonte
fonte
pip3 install --upgrade pip
apontado por @Excalibur em um comentário bem abaixo.Suponho que você tenha duas instalações de python ou duas instalações de pip, uma das quais foi parcialmente removida.
Por que você usa
sudo
? Idealmente, você deve ser capaz de instalar e executar tudo a partir de sua conta de usuário em vez de usar o root. Se você misturar root e sua conta local, é mais provável que tenha problemas de permissão (por exemplo, veja o aviso que ele dá sobre "o diretório pai não pertence ao usuário atual").O que você ganha se executar isso?
$ head -n1 /usr/local/bin/pip
Isso mostrará qual binário python
pip
está tentando usar. Se estiver apontando/usr/local/opt/python/bin/python2.7
, tente executar isto:$ ls -al /usr/local/opt/python/bin/python2.7
Se disser "Não existe esse arquivo ou diretório", o pip está tentando usar um binário python que foi removido.
Em seguida, tente isto:
$ which python $ which python2.7
Para ver o caminho do binário python que está realmente funcionando.
Visto que parece que o pip foi instalado com sucesso em algum lugar, pode ser que faça
/usr/local/bin/pip
parte de uma instalação mais antiga do pip que está mais acima noPATH
. Para testar isso, você pode tentar mover opip
binário que não funciona para fora do caminho, assim (pode exigirsudo
):$ mv /usr/local/bin/pip /usr/local/bin/pip.old
Em seguida, tente executar o
pip --version
comando novamente. Esperançosamente, ele pega a versão correta e funciona com sucesso.fonte
sudo /usr/bin/easy_install pip
- Encontrei-o aqui: stackoverflow.com/questions/27308234/…Única solução em OSX e sua variante.
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
fonte
Fixando pip
Para este erro:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
A fonte deste problema é um caminho Python incorreto codificado no pip (o que significa que não será corrigido, por exemplo, alterando seu $ PATH). Esse caminho não está mais codificado na versão mais recente do pip, então uma solução que deve funcionar é:
Mas, é claro, esse comando usa pip, por isso falha com o mesmo erro.
A maneira de sair dessa bagunça:
which pip
#!/usr/local/opt/python/bin/python2.7
para eg#!/usr/local/opt/python2/bin/python2.7
(observe o python2 no caminho) ou qualquer caminho para um interpretador python em funcionamento em sua máquina.pip install --upgrade pip
(isso sobrescreve seu hack e faz com que o pip funcione na versão mais recente, onde o problema do interpretador deve ser corrigido)Reparando o virtualenv
Para mim, encontrei esse problema por ter primeiro o problema idêntico do virtualenv:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
A solução aqui é executar
Se executar esse comando der o mesmo erro de pip, veja acima.
fonte
pip3 install --upgrade pip
)Cometi o mesmo erro ao usar o sudo para minha instalação. (opa)
Isso trouxe tudo de volta ao normal.
fonte
Como eu tinha o python 2 e o 3 instalados no Mac OSX, estava tendo todo tipo de erros.
Usei-o para encontrar a localização do meu arquivo python2.7 (/usr/local/bin/python2.7)
which python2.7
Então eu vinculei meu local de instalação real do python2.7 com aquele que o script esperava:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
fonte
Eu tive um problema semelhante. Basicamente, o pip estava procurando em um caminho errado (caminho de instalação antigo) ou python. A seguinte solução funcionou para mim:
which python
)/usr/local/bin/pip2.7
e/usr/local/bin/pip
). A linha deve indicar o caminho correto para o caminho python. No meu caso, não. Eu corrigi e agora funciona bem.fonte
Caso ajude alguém, a solução mencionada nesta outra questão funcionou para mim quando o pip parou de funcionar hoje após atualizá-lo: Pip quebrado após a atualização
Parece que é um problema quando um local previamente armazenado em cache muda, então você pode atualizar o cache com este comando:
hash -r
fonte
Para simplificar a operação, podemos usar o comando abaixo para reinstalar a versão 2:
brew install python@2
Então, no meu mac, é o seguinte:
▶ 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)
fonte
reinstall
comando embrew
:brew reinstall python@2
Eu tive o mesmo problema, virtualenv estava apontando para um caminho antigo do python. A correção do caminho resolveu o problema:
$ 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.
fonte
Eu tive o mesmo problema. Eu tenho o Python 2.7 e 3.6 instalado. O Python 2.7 estava
virtualenv
funcionando, mas após instalar o Python3, o virtualenv continuou procurando pela versão 2.7 e não conseguiu encontrá-la. Fazendopip install virtualenv
instalado a versão Python3 do virtualenv.Então, para cada comando, se eu quiser usar Python2, eu usaria
virtualenv --python=python2.7 somecommand
fonte
Eu tenho o mesmo problema. Se eu correr
brew link --overwrite python2
. Ainda haviazsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.Resolvi-o! Agora podemos usar o tecido da versão python2.
=== 25/07/2018 atualizado
Há uma maneira conveniente de usar a versão fab do python2 quando seu sistema operacional python está vinculado ao python3.
.sh
pelo seu comando.# 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
Espero que isto ajude.
fonte
Editar a primeira linha deste arquivo funcionou para mim:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
antes
#!/usr/local/opt/python/bin/python3.7
depois de
#!/usr/local/Cellar/python/3.7.3/bin/python3
fonte
Tudo o que você precisa fazer é ... fechar a janela do terminal e reabrir uma nova para corrigir esse problema.
O problema é que o novo caminho do Python não foi adicionado ao bashrc (o código-fonte ou a nova janela do terminal ajudariam).
fonte
No meu caso, decidi remover a instalação do homebrew python do meu mac, pois já tinha duas outras versões do python instaladas no meu mac através do MacPorts. Isso causou a mensagem de erro.
Reinstalar o python por meio do brew resolveu meu problema.
fonte
sudo /usr/bin/easy_install pip
este comando funcionou para mim
fonte
Para mim, no centOS 7 eu tive que remover o link antigo do pip de / bin por
então vincule-o novamente com
sudo ln -s /usr/local/bin/pip2.7 /bin/pip2.7
Então se
/usr/local/bin/pip2.7
Funciona, isso deve funcionar
fonte
Você pode ter duas versões diferentes de Python e pip.
Tente:
pip2 install --upgrade pip
e depoispip2 install -r requirements.txt
Ou
pip3
se você estiver em uma versão mais recente do Python.fonte
TLDR:
pip
encontrado em seu caminho a é um link simbólico e o local referenciado não contém mais o executável. Você precisa atualizar o link simbólico.Isso ajuda a entender algumas coisas.
python
ou,pip
você irá pesquisar/etc/paths
para tentar encontrar o executável associado a esse comando. Você pode ver tudo lá usandocat /etc/paths
.which
, você pode digitarwhich python
ouwhich pip
. Isso lhe dirá a localização do executável que seu shell usará para esse comando./etc/paths
conter/usr/local/bin
, também é comum/usr/local/bin
haver um monte de links simbólicos para os executáveis reais. Não os executáveis em si.bad interpreter: No such file or directory
Com isso dito, é provável que o problema seja
pip
um link simbólico e o executável vinculado provavelmente não exista mais naquele local. Para consertar, faça o seguintewhich pip
(dá algo assim/usr/local/bin/pip
)ls -l /usr/local/bin/pip | grep pip
(forneça algo como istopip -> /usr/local/opt/[email protected]/bin/pip3
)ls /usr/local/opt/[email protected]/bin/pip3
(você está tendo esse problema, então provavelmente não).rm -r /usr/local/bin/pip
pip
executável real se usá-homebrew
lo,/usr/local/opt
você pode usar algo comols /usr/local/opt/ | grep python
para encontrá-lo.ln -s /usr/local/opt/[email protected]/bin/pip3 /usr/local/bin/pip
fonte