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,發現可以用了。創建虛擬環境,虛擬環境存放位置也能找到我們新建的虛擬環境。