Depuis que je viens de passer un peu de temps, je vais essayer d'écrire la réponse que j'aurais souhaité il y a deux heures. Ceci est pour les personnes qui ne veulent pas seulement la solution copier-coller
Premièrement: vous demandez-vous pourquoi copier et coller des chemins fonctionne pour certaines personnes alors que cela ne fonctionne pas pour d'autres? ** La raison principale, les solutions diffèrent sont les différentes versions de python, 2.x ou 3.x. Il existe en fait des versions distinctes de virtualenv et virtualenvwrapper qui fonctionnent avec python 2 ou 3. Si vous êtes sur python 2, installez comme suit:
sudo pip install virutalenv
sudo pip install virtualenvwrapper
Si vous prévoyez d'utiliser python 3, installez les versions associées de python 3
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
Vous avez installé avec succès les packages pour votre version python et sont tous configurés, non? Eh bien, essayez-le. Tapez workon
dans votre terminal. Votre terminal ne pourra pas trouver la commande ( workon
est une commande de virtualenvwrapper). Bien sûr que non. Workon
est un exécutable qui ne vous sera disponible qu'une fois que vous aurez chargé / source le fichier virtualenvwrapper.sh
. Mais le guide d'installation officiel vous a couvert sur celui-ci, non ?. Ouvrez simplement votre .bash_profile et insérez ce qui suit, il est dit dans la documentation:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
En particulier, la commande source /usr/local/bin/virtualenvwrapper.sh
semble utile car la commande semble charger / générer le fichier souhaité virtualenvwrapper.sh
contenant toutes les commandes avec lesquelles vous souhaitez travailler comme workon
et mkvirtualenv
. Mais oui, non. En suivant le guide officiel d'installation, vous êtes très susceptibles de recevoir l'erreur du message initial: mkvirtualenv: command not found
. Aucune commande n'est trouvée et vous êtes toujours frustré. Alors quel est le problème ici? Le problème est que virtualenvwrapper.sh n'est pas là où vous le recherchez en ce moment. Petit rappel ... vous regardez ici:
source /usr/local/bin/virtualenvwrapper.sh
Mais il existe un moyen assez simple de trouver le fichier souhaité. Tapez simplement
which virtualenvwrapper
à votre terminal. Cela recherchera votre PATH pour le fichier, car il est très probable qu'il se trouve dans un dossier inclus dans le PATH de votre système.
Si votre système est très exotique, le fichier souhaité se cachera en dehors d'un dossier PATH. Dans ce cas, vous pouvez trouver le chemin vers virtalenvwrapper.sh
avec la commande shellfind / -name virtualenvwrapper.sh
Votre résultat peut ressembler à ceci: /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
Félicitations. You have found your missing file!
. Il ne vous reste plus qu'à changer une commande dans votre .bash_profile. Changez simplement:
source "/usr/local/bin/virtualenvwrapper.sh"
à:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"
Toutes nos félicitations. Virtualenvwrapper fonctionne maintenant sur votre système. Mais vous pouvez faire une autre chose pour améliorer votre solution. Si vous avez trouvé le fichier virtualenvwrapper.sh
avec la commande, which virtualenvwrapper.sh
vous savez qu'il se trouve dans un dossier du PATH. Donc, si vous écrivez simplement le nom de fichier, votre système de fichiers supposera que le fichier se trouve dans un dossier PATH. Vous n'avez donc pas à écrire le chemin complet. Tapez simplement:
source "virtualenvwrapper.sh"
C'est tout. Vous n'êtes plus frustré. Vous avez résolu votre problème. J'espère.
WORKON_HOME
à "~ / .virtualenvs" ( valeur par défaut ) permet de définir des virtualenvs privés