1. 程式人生 > >virtualenvwrapper配置報錯

virtualenvwrapper配置報錯

1. 安裝virtualenv
sudo pip install virtualenv
2. 安裝virtualenvwrapper
sudo pip install virtualenvwrapper

預設會將virtualenvwrapper安裝到/usr/local/bin目錄下,需要在使用者的.bsharc檔案中增加如下配置:
#  1. Create a directory to hold the virtual environments.
#     (mkdir $HOME/.virtualenvs).
#  2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
#     to your .bashrc.
#  3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
#     to your .bashrc.
#  4. Run: source ~/.bashrc
#  5. Run: workon
#  6. A list of environments, empty, is printed.
#  7. Run: mkvirtualenv temp
#  8. Run: workon
#  9. This time, the "temp" environment is included.
# 10. Run: workon temp
# 11. The virtual environment is activated.
根據步驟,當執行source ./.bashrc報錯:
/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.
錯誤原因:Ubuntu安裝了2.7和3.x兩個版本的python,在安裝時使用的是sudo pip3 install virtualenvwrapper
在我執行的時候預設使用的是python2.x,但在python2.x中不存在對應的模組。(virtualenvwrapper.sh檔案內容如下:):
# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

當不存在VIRTUALENVWRAPPER_PYTHON環境時,會預設選擇使用which python(我這裡預設是python2),

所以需要增加此環境變數:

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3