更新后python和virtualenvwrapper的问题:没有名为virtualenvwrapper的模块

时间:2015-04-07 07:26:25

标签: python virtualenv virtualenvwrapper

我在ubuntu 14.04下使用virtualenv,virtualenvwrapper运行python 2.7.6。 现在我从源代码安装了python 2.7.9。新的python解释器现在位于/usr/local/bin下,但似乎旧的解释器也位于/usr/bin下。

如果我运行python shell它会显示python2.7.9。但如果我使用mkvirtualenv venv,我会收到以下消息。

  

venv / bin / python中的新python可执行文件   安装setuptools,pip ...完成。
  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

.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

我想在virtualenv和virtualenvwrapper中使用python 2.7.9。那么我必须做些什么才能让它运转起来?

3 个答案:

答案 0 :(得分:35)

如果您修改了virtualenvwrapper以指向python3,就像我一样:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

然后确保使用以下代码安装virtualenvvirtualenvwrapper

sudo /usr/local/bin/pip3 install virtualenv virtualenvwrapper

答案 1 :(得分:20)

您需要在python 2.7.9下安装它们,方法是指定正确使用的pip版本的路径

/usr/local/bin/pip install virtualenv virtualenvwrapper

否则,当运行pip install时,系统将使用默认值(即位于/usr/bin/pip的那个)

答案 2 :(得分:0)

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