web-dev-qa-db-fra.com

Virtualenv et virtualenvwrapper installés: Python ne dit pas de module nommé virtualenvwrapper

Beaucoup d'autres discussions sur des problèmes similaires, mais aucune que j'ai pu trouver était exactement la même chose que la mienne. Alors, voici:

Ce que j'ai fait:

  • Ran: Sudo easy_install pip
  • Ran: Sudo pip install virtualenv
  • Ran: Sudo pip install virtualenvwrapper

Etat actuel:

  • .bash_profile

    export PATH=/usr/local/bin:$PATH
    export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
    export WORKON_HOME=$HOME/.virtualenvs
    export PIP_VIRTUALENV_BASE=$WORKON_HOME
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    
  • Exécuter mkvirtualenv test entraîne:

    New python executable in trunk/bin/python
    Installing setuptools, pip...done.
    /usr/bin/python: No module named virtualenvwrapper
    
  • L’inspection manuelle de '/ usr/local/bin' montre que virtualenvwrapper.sh existe

  • Contrairement à d'autres questions que j'ai vues à ce sujet, je ne reçois aucun message à propos de virtualenvwrapper lorsque je démarre une nouvelle fenêtre de terminal.
  • Lancer 'quel python' donne: /usr/bin/python

Ce que j'ai essayé:

  • Inspecter mon chemin pour s’assurer qu’il est censé l’être
  • Réinstallation de pip, puis utilisation du pip réinstallé pour réinstaller virtualenv et virtualenvwrapper

Toute aide pour que cela fonctionne serait très appréciée.

32
user3699754

J'ai réussi à le faire fonctionner après avoir rencontré le même problème que vous avez décrit ici en modifiant mon ~/.bash_profile et en ajoutant ceci:

export WORKON_HOME=$HOME/code/.virtualenvs
export PROJECT_HOME=$HOME/code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

source /usr/local/bin/virtualenvwrapper.sh

Sauvegarder et fermer.

puis: 

$ source ~/.bash_profile

et: 

$ mkvirtualenv test
73
user3418052

J'ai eu le même problème lors de la configuration de virtualenvwrapper sur Ubuntu.

J'avais installé virtualenv, virtualenvwrapper using pip, qui a installé ces modules dans le package de site de python3.5. Comment ai-je découvert cela?

Ouvrez votre terminal et tapez

$ pip --version

pip 9.0.1 depuis /home/clyton/.virtualenvs/test1/lib/python3.5/site-packages (python 3.5)

Ensuite, j'ai vérifié la variable VIRTUALENVWRAPPER_PYTHON dont la valeur était/usr/bin/python. Sur votre terminal et tapez

$ ls -l $VIRTUALENVWRAPPER_PYTHON

lrwxrwxrwx 1 root root 9 Dec 10  2015 **/usr/bin/python -> python2.7**

Comme vous pouvez le constater, cette variable pointe vers python2.7 et vous avez peut-être installé virtualenv dans un package de site python différent.

Donc, pour résoudre ce problème, ajoutez simplement la ligne ci-dessous dans votre bashrc

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5

REMARQUE: Définissez la valeur ci-dessus sur la version python avec laquelle virtualenv a été installé. Dans mon cas, c'était python3.5, donc j'ai défini cette valeur. Comment connaître la version de python utilisée pour installer virtualenv? Encore une fois tapez pip --version dans le terminal. 

Ouvrez ensuite une nouvelle session Shell et essayez à nouveau mkvirtualenv. Cette fois, ça devrait marcher.

25
clyton dantis

Si vous examinez le script virtualenvwrapper.sh, vous trouverez les lignes suivantes:

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] 
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

Si vous n'exportez pas manuellement la variable VIRTUALENVWRAPPER de manière appropriée pour votre version de python, la valeur par défaut du système sera utilisée si le package virtualenvwrapper n'est pas installé.

J'ai corrigé ça comme ça:

echo "export VIRTUALENVWRAPPER_PYTHON=$(which python3.6)" >> ~/.zshrc

Tout cela est documenté sur le site officiel ici .

12
wulfgarpro

essayez d'installer virtualenv et virtualenvwrapper avec pip2 install virtualenv virtualenvwrapper. il semble que pip install virtualenv et son wrapper à Python 3 comme par défaut

5
asem bused

Essayez de désinstaller votre virtualenv et virtualenvwrapper, puis réinstallez-le à l’aide de pip (vérifiez si vous faites un lien symbolique avec votre pip ou si vous avez attribué un alias à cette version) dans la version 2.7 (je pense).

J'ai rencontré la même erreur et je viens de faire cela et résolu mon problème.

Je utilise la machine Ubuntu.

J'espère que cette aide.

2
manilaT

Dans mon cas, l'ajout de cette ligne dans mon fichier .zshrc a fait l'affaire,

export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7

pensez à source ~/.zshrc pour mettre à jour la modification sur votre terminal actuel.

1
pecai

Je ne sais pas si cela concerne tout le monde, mais j'ai eu cette erreur en modifiant ~/.zshrc pendant que virtualenv était actif. Il me fallait donc deactivate puis rmvirtualenv env_name pour supprimer les erreurs. Et puis j'ai recréé env: mkvirtaulenv env_name et workon env_name et cette fois, je n'ai pas d'erreur.

J'espère que ça aide quelqu'un. 

0
abe312