web-dev-qa-db-fra.com

problèmes avec python et virtualenvwrapper après la mise à jour: aucun module nommé virtualenvwrapper

Je lance python 2.7.6 avec virtualenv, virtualenvwrapper sous ubuntu 14.04. Maintenant j'ai installé python 2.7.9 depuis la source. Le nouveau python est maintenant situé sous /usr/local/bin mais il semble que l'ancien interprète se trouve également sous /usr/bin.

si je lance python Shell, il affiche python2.7.9. mais si j'utilise mkvirtualenv venv Je reçois le message suivant.

Nouveau python exécutable dans venv/bin/python
Installation de setuptools, pip ... terminée.
Blockquote/usr/local/bin/python: aucun module nommé virtualenvwrapper

vieux .bashrc (avec une configuration de travail utilisant python 2.7.6)

# virtualenv-wrappper path
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

nouveau .bashrc (avec configuration d'échec)

# virtualenv-wrappper path
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

avec le nouveau .baschrc Je tape source .bashrc et obtenez la sortie suivante.

/ usr/local/bin/python: aucun module nommé virtualenvwrapper virtualenvwrapper.sh: un problème est survenu lors de l'exécution des hooks d'initialisation.

Si Python n'a pas pu importer le module virtualenvwrapper.hook_loader, vérifiez que virtualenvwrapper a été installé pour VIRTUALENVWRAPPER_PYTHON =/usr/local/bin/python et que PATH est correctement défini.

Et j'ai aussi essayé which -a python:

sortie:

/usr/local/bin/python
/usr/bin/python

Je veux utiliser python 2.7.9 avec virtualenv et virtualenvwrapper. Alors, que dois-je faire pour que cela fonctionne?

22
mthecreator

Vous devez les installer sous python 2.7.9 en spécifiant le chemin vers la version correcte de pip à utiliser

/usr/local/bin/pip install virtualenv virtualenvwrapper

sinon, lors de l'exécution de pip install le système utilisera celui par défaut (c'est-à-dire celui situé à /usr/bin/pip)

20
Railslide

Si vous avez modifié votre virtualenvwrapper pour pointer vers python3, Comme je le fais:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

assurez-vous ensuite d'installer les virtualenv et virtualenvwrapper en utilisant:

Sudo /usr/local/bin/pip3 install virtualenv virtualenvwrapper
36
Sudipta Basak

source /usr/local/bin/virtualenvwrapper_lazy.sh


lors de l'utilisation de pyenv:

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then
    export PATH="${PYENV_ROOT}/bin:${PATH}"
    eval "$(pyenv init -)"
fi
export PATH

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
#important
source /usr/local/bin/virtualenvwrapper_lazy.sh
0
likaiguo.happy