`python3.7: intérprete incorreto: arquivo ou diretório inexistente`

`python3.7: intérprete incorreto: arquivo ou diretório inexistente`

Instalei Python, pip3 e virtualenv como emeste guia para TensorFlow:

brew install python
pip3 install -U virtualenv

Então consegui criar um ambiente virtual com:

virtualenv --system-site-packages -p python3 ./venv

Então tentei instalar o TensorFlow com

pip install --upgrade tensorflow

mas falhouporque o TensorFlow ainda não é compatível com Python 3.7. Então removi o Python 3.7 brew remove pythone instalei o 3.6.7 deum instalador. Mas executar o mesmo virtualenvcomando agora falha:

$ virtualenv --system-site-packages -p python3 ./venv
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory
$ which python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

Portanto, o virtualenvlink para o executável lista a versão mais recente do Python, mesmo após a remoção.

Além disso, virtualenvlista brewo grupo de usuários, o que também é confuso:

$ ls -la /usr/local/bin/virtualenv
-rwxr-xr-x  1 user  brew  232 29 Nov 17:06 /usr/local/bin/virtualenv

Eu tentei desinstalar virtualenvcom ambos pipe pip3obtive:

Skipping virtualenv as it is not installed.

Como posso corrigir esse problema?

Responder1

Depois de algumas horas, uma solução foi instalar virtualenvnovamente com pipe removê-lo com pip:

$ ls -la /usr/local/bin/virtualenv
-rwxr-xr-x  1 user  brew  232 29 Nov 17:06 /usr/local/bin/virtualenv
$ pip install virtualenv
...
$ pip uninstall virtualenv
...
$ which virtualenv
$ ls -la /usr/local/bin/virtualenv
ls: /usr/local/bin/virtualenv: No such file or directory

E então instale-o novamente com pip3:

$ pip3 install virtualenv
Collecting virtualenv
...
Installing collected packages: virtualenv
Successfully installed virtualenv-16.1.0

Observe o uso de pip3, e não pip, ao contrárioesse link, apontado porTensorFlow.

E agora a criação do ambiente virtual funciona:

$ virtualenv --system-site-packages -p python3 ./venv
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in ~/venv/bin/python3
Also creating executable in ~/venv/bin/python
Installing setuptools, pip, wheel...
done.

Responder2

Criei um link simbólico em vez de copiar.

brew install [email protected]
ln -s /usr/local/opt/[email protected]/bin/python3.7 /usr/local/opt/python/bin/python3.7

Responder3

No meu caso, eu instalei o pipenvno MacOScom:

brew install pipenv

Ele estava tentando usar o Python 3.6 em vez do 3.7 que eu realmente tinha.

Então resolvi o problema desinstalando:

brew uninstall pipenv

... então instalando novamente com pip:

pip3 install pipenv

Responder4

Tente instalar[e-mail protegido]via homebrew e depois cpcolocar essa instalação no diretório que o programa espera encontrá-la.

brew install [email protected]
cp -r /usr/local/opt/[email protected]/bin/python3.7 /usr/local/opt/python/bin/python3.7

informação relacionada