前言
為了應(yīng)付不同的開發(fā)需求配并,裝virtualenvwrapper是很有必要的法梯,但大家的機(jī)器配置各不相同,遇到的情況可能也不相同狂男,這時候去官網(wǎng)看是最好的選擇,但是架不住官網(wǎng)信息量太大品腹,所以網(wǎng)上搜索教程才是大多數(shù)人的選擇岖食,那么這時候就要注意選擇時間最新的教程了,畢竟隨著版本的迭代更新舞吭,配置環(huán)境這事兒還是有時效性的泡垃,這篇給出mac下安裝virtualenvwrapper可能會遇到的問題以及解決方案析珊。
問題目錄
-bash: mkvirtualenv: command not found
-bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory
-bash: virtualenvwrapper.sh: No such file or directory
ERROR: virtualenvwrapper could not find virtualenv in your path
- 每次退出終端后都要重新
source ~/.bashrc
先給出一份本文要解決的問題列表,看看有沒有你也需要解決的蔑穴。
正文
正常安裝步驟(以python3.6為例):
-
安裝virtualenvwrapper
pip3 install --user virtualenvwrapper
-
配置~/.bashrc忠寻,讓Bash自動加載virtualenvwrapper
一開始參考《Python測試驅(qū)動開發(fā)》時,我是這么做的:
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
然后初始一個虛擬環(huán)境存和,測試一下有沒有配置好:
mkvirtualenv --python=python3.6 superlists
但是報錯了...錯誤如下(目錄中的第一個錯誤):
-bash: mkvirtualenv: command not found
搜索之后發(fā)現(xiàn)奕剃,是~/.bashrc沒有配置好,于是vim ~/.bashrc
開始配置:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
保存之后執(zhí)行source ~/.bashrc
捐腿,繼續(xù)報錯-bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory
纵朋,大概明白了錯誤在哪里,virtualenvwrapper.sh
這個文件找不到了茄袖,好辦操软,接下來展示一下如何花式找文件:
2.1 which virtualenvwrapper.sh
,書上提供的方法宪祥,不過我試了沒反應(yīng)聂薪,大家可以試試看
2.2 sudo find / -name virtualenvwrapper.sh
,一定要加sudo品山,不然因為文件權(quán)限的原因,會一直Permission denied烤低,等了一會兒成功找到了路徑:
/Users/macbook/Library/Python/3.6/bin/virtualenvwrapper.sh
2.3 就是建議大家找之前先去 /Users/*/Library/Python/*/bin/
或者/Library/Frameworks/Python.framework/Versions/*/bin/
(*內(nèi)容根據(jù)你自身配置決定)肘交,這幾個路徑找找看,一般都安裝在這里扑馁。
找到之后涯呻,就可以配置~/.bashrc
了,我的完整配置如下(記得保存執(zhí)行source ~/.bashrc
):
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
source /Users/macbook/library/Python/3.6/bin/virtualenvwrapper.sh
到這里腻要,關(guān)于~/.bashrc
的配置就結(jié)束了
-
配置virtualenv复罐,建立軟連接
配置完~/.bashrc
之后,我們就要開始新建一個虛擬環(huán)境實施了:
輸入命令:mkvirtualenv --python=python3.6 superlists
很不幸雄家,又報錯了效诅,這次的錯誤如下:
ERROR: virtualenvwrapper could not find virtualenv in your path
產(chǎn)生這個錯誤的原因是virtualenv直接被默認(rèn)安裝在了Python目錄下,因此我們需要將它和外部建立一個軟連接趟济,命令如下(具體路徑視你的配置而定):
sudo ln -s /Users/macbook/Library/Python/3.6/bin/virtualenv /usr/local/bin/virtualenv
搞定之后就完成了所有的配置了乱投,接下來只需要:
mkvirtualenv --python=python3.6 name
就可以愉快的開始新建了。
這里說一下簡單的幾個命令:
-
workon name
開啟你建立的虛擬環(huán)境顷编,新建的時候是默認(rèn)開啟的 -
deactivate
關(guān)閉退出
- 但是...問題到這里還沒有結(jié)束戚炫!看問題5,第二天我打開終端后使用
workon superlists
的時候發(fā)現(xiàn)command not found
媳纬?双肤?施掏?一番操作才發(fā)現(xiàn)原來每次打開一個新的終端時都要執(zhí)行一遍source ~/.bashrc
才能運(yùn)行。
這里給出一個解決辦法(當(dāng)然如果你不覺得每次都要輸source ~/.bashrc
麻煩茅糜,那下面的就不用看了):
a. 打開終端輸入:vi ~/.bash_profile
b. 在.bash_profile文件的最末尾上加入如下語句:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
之后保存退出就可以了七芭,再次重新打開,就不用重復(fù)執(zhí)行source ~/.bashrc
啦限匣,
至此抖苦,這篇教程就結(jié)束了,有問題歡迎交流米死。