virtualenvwrapper问题与解

virtualenvwrapper提供了一系列命令使得用虚拟环境工作变得愉快许多。它可以把你所有的虚拟环境都统一放在一个地方。

首先安装virtualenv:

1
$ pip install virtualenv

安装virtualenvwrapper:

1
$ pip install virtualenvwrapper

配置环境变量:

home路径下创建.virtualenvs路径,将来的虚拟环境都将在这里创建

1
$ mkdir $HOME/.virtualenvs

~/.bashrc中添加:

1
2
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

运行:

1
$ source ~/.bashrc

出现这样的提示:

1
2
3
4
5
6
/usr/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/bin/python and that PATH is
set properly.

意思是没有找到virtualenvwrapper这个模块。

原因是现在默认的python环境是python2,而virtualenv和virtualenvwrapper是在python3环境中添加的。

此时virtualenvwrapper环境并未配置完成。

查阅 Stack Overflow 获得解决方法:

编辑/.bashrc时需要为virtualenvwrapper指定python路径和virtualenv路径,即在/.bashrc中添加如下文本:

1
2
3
4
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #你的python路径
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv #你的virtualenv路径
source /usr/local/bin/virtualenvwrapper.sh

python3路径和virtialenv路径可以通过以下命令获得:

1
2
3
4
$ which python3
/usr/bin/python3
$ which virtualenv
/usr/local/bin/virtualenv

添加完指定的python3路径和virtualenv路径。运行

1
$ source ~/.bashrc

即配置完成virtualenvwrapper。

virtualenvwrapper问题与解

https://oxo.red/virtualenvwrapperQA/

作者

Han

发布于

2018-03-27

更新于

2021-08-20

许可协议

评论