web-dev-qa-db-fra.com

Python "mauvais interprète" ERREUR

Tout semble bien fonctionner pour Python 2 et 3:

$ which Python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

$ python --version
Python 2.7.9

$ python2
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

$ python3
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Mes paramètres .bash_profile sont les suivants:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH

Le problème:

$ virtualenv My_Env
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python3/bin/python3.4: bad interpreter: No such file or directory

Le chemin ci-dessus n'existe pas. J'ai téléchargé mes paquets python directement à partir du site python et les ai installés avec les paramètres par défaut. 

Avant cela, j'utilisais Python installé avec HomeBrew, mais ce chemin ne semble pas être un chemin de fichier d'infusion.

En bout de ligne ... Mon chemin de fichier est foiré ailleurs que dans mon fichier .bash_profile et je ne sais pas où chercher pour le réparer.


Notez également que je configure mon autre ordinateur avec les mêmes installations .bash_profile et python et que cela fonctionne parfaitement ...

Les deux utilisent Mac Yosemite.

Merci d'avance!

13
Dex

Ok, j'ai pu résoudre le problème avec une nouvelle installation de virtualenv. Je suppose que c'est là que se trouvait le problème du chemin (quelque part dans l'installation de virtualenv). 

10
Dex

Mon problème était aussi simple que d'avoir des espaces dans le répertoire situé en haut de venv/bin/pip, ce qui voulait dire que le chemin était entre guillemets. Dès que je me suis assuré qu'il ne se trouvait pas dans un répertoire avec des espaces, j'ai supprimé les guillemets.

par exemple. #!"/Users/Tomm/MY PROJECT/venv/bin/python" devrait être changé en #!/Users/Tomm/MY-PROJECT/venv/bin/python

6
Tomm Armstrong

Réinstaller virtualenv devrait résoudre ce problème. Je suis également passé par le même bogue et la réinstallation à l'aide de pip a résolu ce problème pour moi. 

1
Raghav salotra

Vous pouvez vérifier le fichier "activer" dans votre dossier bin virtualenv et voir ce qui y est écrit vers la ligne 42, puis le définir manuellement, en gardant à l'esprit que tous les exécutables de ce dossier bin sont codés en dur première ligne Shebang.

Vous devrez aussi les changer. Ou déplacez simplement le dossier au bon endroit pour votre tâche temporaire actuelle, sinon vous pourriez avoir besoin d'un outil de relocalisation de virtualenv ou tout simplement le réinstaller.

1
TonyTony