J'ai configuré un environnement virtualenv sur mon Mac, mais je ne parviens pas à faire installer Pip par Pip. Il échoue avec l'erreur suivante:
/Volumes/Macintosh: bad interpreter: No such file or directory
J'ai suivi le problème jusqu'à ce qu'il y ait un espace dans le chemin, comme il est répondu ici: https://stackoverflow.com/a/10873611/126564
(le chemin étant /Volumes/Macintosh HD/Python/my_project
)
Mais c'est un peu un problème. La solution proposée consiste à:
"il suffit de placer votre environnement virtualenv dans un chemin sans espace",
mais la partie avec l'espace est le volume lui-même. Tous mes chemins auraient un espace, sauf si je les ai stockés dans un répertoire de /
. Et je ne pense pas que "stocker vos données en dehors de l'espace utilisateur" soit une bonne solution.
Y a-t-il une meilleure solution à cela?
Essayer ceci:
bin/activate
, changez VIRTUAL_ENV='/Volumes/Macintosh HD/Python/my_project'
et changeez PATH="$VIRTUAL_ENV/bin:$PATH"
pour le faire fonctionner dans votre environnement. en utilisant echo $PATH
pour vérifier si cela fonctionne.en éditant bin/pip
et bin/easy_install
, remplacez la première ligne des deux fichiers par
#!/usr/bin/env python
Après les deux étapes ci-dessus, votre virtualenv fonctionnera (également pip/easy_install).
Notez que vous ne devez pas utiliser votre dossier de projet pour virtualenv. Par exemple, vous pouvez placer votre virtualenv dans le dossier/tmp ou dans tout autre dossier sans espaces:
virtualenv /tmp/temporary_virtualenv
virtualenv /home/my_envs/env_for_projectname
J'ai encore une autre solution de contournement - il vous suffit d'utiliser pip
package au lieu de pip
script . Par exemple:
python -m pip install .
ou même:
python -m pip install -U pip
Pour moi, fonctionne comme un charme et ne nécessite pas de modifications dans les fichiers.
La modification du fichier bin/activate
et la suppression des espaces ont fonctionné pour moi. Modifiez et enregistrez le fichier, puis exécutez source bin/activate
.
Sauf si vous avez une configuration de lecteur atypique sur votre Mac, le chemin /Volumes/Macintosh HD
devrait être un lien symbolique vers /
. En d'autres termes, au lieu de
$ virtualenv /Volumes/Macintosh\ HD/venvpath
tu peux juste faire
$ virtualenv /venvpath
Non pas que j'essaie de tolérer que les logiciels ne gèrent pas les espaces dans les noms de fichiers Je suis d’accord avec commentaire de Hugo ci-dessus: gardez un œil sur le problème de GitHub .
À la fin de 2018, les dernières versions de pip
et virtualenv
traitent correctement les espaces dans venv dir.
Voir https://github.com/pypa/virtualenv/issues/53#issuecomment-434461292 .