bash环境下root用户,workon是无法显示虚拟环境的。很多时候我们需要用root用户去执行程序,而程序建立在虚拟环境上运行。
分析:
.bashrc只有当前用户才会执行
普通用户下vi .bashrc
可以看到有关workon虚拟环境的配置信息
从这张图中我们可以看到,workon是存在于与用户相关的目录下的,而root用户没有家目录的概念,这是为什么root用户用不了workon。再往里面看,当我们cat /usr/local/bin/virtualenvwrapper.sh
时我们可以看到workon是脚本中的一个方法。
这个时候我们可以执行以下两行命令来让workon生效。第一行指定创建的虚拟环境的存放位置,第二行让workon生效。
export WORKON_HOME=/data/vir(此为root用户存放虚拟环境的位置,自己设置)
source /usr/local/bin/virtualenvwrapper.sh
这个时候我们在root用户下执行workon,发现可以用了。创建虚拟环境,虚拟环境存放位置也能找到我们新建的虚拟环境。