`python3.7: intérprete incorrecto: no existe tal archivo o directorio`

`python3.7: intérprete incorrecto: no existe tal archivo o directorio`

Instalé Python, pip3 y virtualenv como enesta guía para TensorFlow:

brew install python
pip3 install -U virtualenv

Luego pude crear un entorno virtual con:

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

Luego intenté instalar TensorFlow con

pip install --upgrade tensorflow

pero fracasóporque TensorFlow aún no es compatible con Python 3.7. Así que eliminé Python 3.7 brew remove pythone instalé 3.6.7 desdeun instalador. Pero virtualenvahora falla la ejecución del mismo comando:

$ 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

Entonces, el virtualenvenlace al ejecutable enumera la versión más reciente de Python, incluso después de la eliminación.

Además, virtualenvenumera brewel grupo de usuarios, lo que también resulta confuso:

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

Intenté desinstalar virtualenvcon ambos pipy pip3obtengo:

Skipping virtualenv as it is not installed.

¿Cómo puedo solucionar este problema?

Respuesta1

Después de unas horas, una solución fue instalarlo virtualenvnuevamente con pipy luego eliminarlo con 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

Y luego instálelo nuevamente con pip3:

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

Observe el uso de pip3, y no pip, a diferencia deeste enlace, señalado porTensorFlow.

Y ahora crear el entorno 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.

Respuesta2

Creé un enlace simbólico en lugar de copiarlo.

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

Respuesta3

En mi caso, había instalado pipenv.en Mac OScon:

brew install pipenv

Estaba intentando usar Python 3.6 en lugar del 3.7 que realmente tenía.

Entonces resolví el problema desinstalando:

brew uninstall pipenv

... luego instalando nuevamente con pip:

pip3 install pipenv

Respuesta4

Intenta instalar[correo electrónico protegido]a través de homebrew y luego cpingresar esa instalación en el directorio donde el programa espera encontrarla.

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

información relacionada