web-dev-qa-db-fra.com

Erreur "virtualenv: commande introuvable" mais l'emplacement d'installation est dans PYTHONPATH

Cela me rend fou ces 2 derniers jours . J'ai installé virtualenv sur mon Macbook en utilisant pip install virtualenv. Mais lorsque j'essaie de créer un nouveau virtualenv en utilisant virtualenv venv, erreur de dire "virtualenv: commande introuvable".

J'ai utilisé pip show virtualenv et l'emplacement de l'installation est "Emplacement: /usr/local/lib/python2.7/site-packages" mais je ne peux pas savoir où se trouve l'exécutable. J'ai essayé des dizaines d'autres publications similaires mais ces solutions ne fonctionnent pas pour moi.

Des idées ce qui pourrait mal tourner ici?

15
Pravesh Jain

La seule approche réalisable que j'ai pu comprendre (avec l'aide de @Gator_Python était de faire python -m virtualenv venv. Cela crée l'environnement virtuel et fonctionne comme prévu.

J'ai personnalisé python installé et c'est peut-être pourquoi l'approche par défaut ne fonctionne pas pour moi.

31
Pravesh Jain

Comme mentionné dans les commentaires, le module virtualenv est correctement installé dans l'environnement attendu puisque python -m venv vous permet de créer virtualenv. 

Le fait que virtualenv ne soit pas une commande reconnue résulte du fait que virtualenv.py n'est pas dans votre PATH système et/ou n'est pas exécutable. La cause principale pourrait être des distutils ou des setuptools obsolètes.

Vous devez essayer de localiser le fichier virtualenv.py, vous assurer qu'il est exécutable (chmod +x) et que son emplacement est dans votre système PATH. Sur mon système, virtualenv.py se trouve dans le dossier ../Pythonx.x/Scripts, mais cela peut être différent pour vous.

4
sytech

Sur macOS Mojave
Première vérification que python est dans le chemin.
python --version
Le deuxième point de contrôle est installé.
pip --version
S'il n'est pas installé.
brew install pip
Troisième installation virtualenv
Sudo -H pip install virtualenv 

2
Mian Asbat Ahmad

Se pourrait-il que vous utilisiez le gestionnaire de paquets Anaconda? Si tel est le cas, il possède son propre système d’environnement virtuel que vous configurez comme suit:

conda create --name venv
1
Bill

J'ai eu le même problème (bien que sur Ubuntu), une solution simple est au lieu de faire pip install virtualenv, vous précédez la recommandation avec "Sudo". 

Une petite inspection révèle la raison de ce correctif:  enter image description here

pip install virtualenv essaye de placer un exécutable sous /usr/local/bin pour qu'il puisse être appelé à partir de la ligne de commande, mais cela a échoué car seule la racine a le droit d'écriture sur ce répertoire.

une alternative est pip install --user virtualenv, voici quelques lectures supplémentaires 1 , 2

0
watashiSHUN