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?
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
)
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
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