2015-04-07 40 views
20

我运行python 2.7.6与virtualenv,在Ubuntu 14.04下的virtualenvwrapper。 现在我已经从源码安装了python 2.7.9。新的python解释器现在位于/usr/local/bin之下,但它似乎旧的解释器也位于/usr/bin之下。更新后python和virtualenvwrapper的问题:没有模块命名为virtualenvwrapper

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

New python executable in venv/bin/python
Installing setuptools, pip...done.
Blockquote /usr/local/bin/python: No module named virtualenvwrapper

.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: No module named virtualenvwrapper virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly.

而且我自己也尝试which -a python

输出:

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

我想使用Python 2.7.9用的virtualenv和virtualenvwrapper。所以我必须做些什么来实现这个运行?

+0

你有没有下的python 2.7.9安装virtualenvwrapper? – Railslide

+0

是的,我已经在python2.7.9下重新安装了virtualenv和virtualenvwrapper。给我同样的结果。 – mvmthecreator

+1

如果你尝试从python(2.7.9)shell导入virtualenvwrapper,你会得到任何错误吗?而如果你尝试用'-p path/to/python/interpreter'来创建virtualenv呢? – Railslide

回答

16

你需要通过指定的路径来纠正PIP版本的python 2.7.9安装它们运行pip install该系统正时将使用默认的一个(使用

/usr/local/bin/pip install virtualenv virtualenvwrapper 

否则,即一个位于在/usr/bin/pip

32

如果您修改了virtualenvwrapper指向python3,像我这样做:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 

然后确保你安装virtualenvvirtualenvwrapper使用:

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

有人应该做得更简单。只需一个命令,你就拥有了一切。 –

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