web-dev-qa-db-fra.com

/ usr/bin/python3: Erreur lors de la recherche de la spécification pour 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: aucun module nommé 'virtualenvwrapper')

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?

31
alexus

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.

39
alexus

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 
38
Gagandeep Singh

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
16
Devy

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

9
KIYOUNG KIM

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

8
daumie

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.

5
heykarimoff

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.

4
chorbs

J'avais déjà installé virtualenv donc juste besoin de courir

pip3 install virtualenvwrapper
1
Matt Doran