J'essaie de suivre Comment servir les applications Django avec uWSGI et Nginx sur Ubuntu 14.04 et j'échoue très tôt, en raison de la quantité de sortie, j'ai placé toutes les informations connexes dans Pastebin.com - N ° 1 de l'outil coller depuis 2002! .
l'erreur réelle:
root@alexus:~# echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
root@alexus:~# source ~/.bashrc
/usr/bin/python3: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: No module named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 and that PATH is
set properly.
root@alexus:~#
Je suis la façon de faire, qu'est-ce que je fais mal?
Grâce à @Alexander, j'ai pu résoudre mon problème en modifiant:
export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python3
à
export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python
en raison de la compatibilité ascendante.
J'ai rencontré un problème similaire lors de l'utilisation de python3 avec virtualenvwrapper,
Sudo apt-get install python3-pip
Puis installez virtualenv et virtualenvwrapper à partir de pip3,
Sudo pip3 install virtualenv virtualenvwrapper
puis source à nouveau,
source .bashrc
J'ai rencontré un problème similaire avec virtualenvwrapper
en me plaignant de ne pas trouver virtualenvwrapper.hook_loader
. J'ai pu réduire cette ligne dans mon .bash_profile
source /usr/local/bin/virtualenvwrapper.sh
comme vu ci-dessous
$ source /usr/local/bin/virtualenvwrapper.sh
/usr/local/opt/python3/bin/python3.6: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 and that PATH is
set properly.
Après quelques essais et erreurs, il s’avère qu’une réinstallation du paquetage virtualenvwrapper
l’a résolu. Cela témoignait du fait que j’avais récemment mis à niveau python3 (de la version 3.5.2 à 3.6.1) via homebrew et qu’il avait cassé le script Shell de virtualenvwrapper qui codait en dur les références à l’ancienne version de python3 (dans mon cas c’était 3.5. 2) En bref, cette ligne ci-dessous devrait résoudre le problème (du moins dans mon cas, cela a été le cas).
pip3 install virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python
bon choix, mais vous saviez déjà que/usr/bin/python est 2.7
Si vous voulez utiliser la version 3
Sudo apt-get install python3-pip
et déconnexion & login
vérifiez votre répertoire d'installation python3
:
which python3
Si installé par brew, vous devriez obtenir:
/usr/local/python3
exporter la version python à utiliser virtualenvwrapper:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3
sourcez votre fichier de configuration Shell:
bash
source .bashrc
zsh
source .zshrc
Dans macOS Sierra, Si vous avez installé le paquet virtualenv
à l’aide de pip3
, Ajoutez ce qui suit à .bash_profile
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
ou
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
après cela, chaque nouvel environnement virtuel créé à l'aide de workon myvenv
utilise python3
comme interpréteur python.
Cette erreur est apparue pour moi après l'exécution de brew update
et brew upgrade
sur mac os High Sierra.
Le problème a été résolu en réinstallant virtualenvwrappper i.e. pip install virtualenvwrapper
.
J'avais déjà installé virtualenv donc juste besoin de courir
pip3 install virtualenvwrapper