Проблемы с python и virtualenvwrapper после обновления: ни один модуль с именем virtualenvwrapper
Я запускаю python 2.7.6 с virtualenv, virtualenvwrapper под ubuntu 14.04.
теперь я установил python 2.7.9 из источника. новый интерпретатор python теперь находится под /usr/local/bin
, но, похоже, старый интерпретатор также находится под /usr/bin
.
если я запустил оболочку python, он отображает python2.7.9. но если я использую mkvirtualenv venv
, я получаю следующее сообщение.
Новый исполняемый файл python в venv/bin/python
Установка setuptools, pip... done.
Blockquote/usr/local/bin/python: нет модуля с именем virtualenvwrapper
old .bashrc
(с рабочей конфигурацией с использованием интерпретатора 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
new .bashrc
(с конфигурацией отказа)
# 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
с новым .baschrc
я введите source .bashrc
и получите следующий вывод.
/usr/local/bin/python: нет модуля с именем virtualenvwrapper virtualenvwrapper.sh: Возникла проблема с запуском крючков инициализации.
Если Python не смог импортировать модуль virtualenvwrapper.hook_loader, убедитесь, что virtualenvwrapper установлен для VIRTUALENVWRAPPER_PYTHON =/usr/local/bin/python и что PATH правильно установить.
И я также пробовал which -a python
:
выход:
/usr/local/bin/python
/usr/bin/python
Я хочу использовать python 2.7.9 с virtualenv и virtualenvwrapper. так что я должен сделать, чтобы запустить это?
Ответы
Ответ 1
Вам нужно установить их в python 2.7.9, указав путь к правильной версии используемого пипа
/usr/local/bin/pip install virtualenv virtualenvwrapper
В противном случае при запуске pip install
система будет использовать значение по умолчанию (то есть значение, расположенное в /usr/bin/pip
)
Ответ 2
Если вы изменили свой virtualenvwrapper
на python3
, как я:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
затем убедитесь, что вы установили virtualenv
и virtualenvwrapper
, используя:
sudo /usr/local/bin/pip3 install virtualenv virtualenvwrapper
Ответ 3
source /usr/local/bin/virtualenvwrapper_lazy.sh
при использовании 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