22 votes

`python3.7 : mauvais interprète : No such file or directory`

J'ai installé Python, pip3, et virtualenv comme suit ce guide pour TensorFlow :

brew install python
pip3 install -U virtualenv

J'ai ensuite pu créer un environnement virtuel avec :

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

J'ai ensuite essayé d'installer TensorFlow avec

pip install --upgrade tensorflow

mais il a échoué parce que TensorFlow n'est pas encore compatible avec Python 3.7 . J'ai donc supprimé Python 3.7 avec brew remove python et installé la version 3.6.7 à partir de un installateur . Mais en faisant fonctionner le même virtualenv échoue désormais :

$ 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

Ainsi, le virtualenv Le lien vers l'exécutable répertorie la version la plus récente de Python, même après sa suppression.

En outre, virtualenv listes brew comme groupe d'utilisateurs, ce qui est également source de confusion :

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

J'ai essayé de désinstaller virtualenv avec à la fois pip y pip3 et j'obtiens :

Skipping virtualenv as it is not installed.

Comment puis-je résoudre ce problème ?

1voto

sin.ak Points 11

Dans mon cas, j'étais sur MacOS et j'avais installé python3.9, mais virtualenv a été installé en utilisant python3.7 et à un moment donné j'ai désinstallé python3.7.

$ /usr/local/bin/virtualenv --version
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory

Cependant, ma version de Python :

$ which python3.9
/usr/local/bin/python3.9

Aucune quantité de pip ou pip3 install/uninstall/install virtualenv n'a fonctionné pour moi. Finalement, j'ai fait ce qui suit :

$ python3.9 -m pip install --user virtualenv
Collecting virtualenv
  Using cached virtualenv-20.4.6-py2.py3-none-any.whl (7.2 MB)
<snip>
Successfully installed appdirs-1.4.4 distlib-0.3.1 filelock-3.0.12 virtualenv-20.4.6

Et puis

$ /usr/local/bin/virtualenv --version
virtualenv 20.4.6 from <mypath>

Bravo !

1voto

Nicolas Points 199

Dans mon cas, la solution a été d'ajouter une ligne à la fin de l'article ~/.zshrc fichier :

export PATH=/usr/local/opt/python/libexec/bin:$PATH

J'espère que cela vous aidera.

source

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X