1. 簡介virtualenv可以用來管理互不干擾的獨(dú)立python虛擬環(huán)境,,在有些場景下非常有用,例如:
virtualenvwrapper在virtualenv的基礎(chǔ)上提供了一些更方便的命令。 2. 安裝sudo pip install virtualenv sudo pip install virtualenvwrapper 在~/.bashrc里面加上: export WORKON_HOME=/home/dev/virtualenv #你創(chuàng)建的虛擬環(huán)境所放置的目錄
source /usr/local/bin/virtualenvwrapper.sh
然后source ~/.bashrc,,就可以使用了 3. 管理環(huán)境首先我們創(chuàng)建一個(gè)python3的虛擬環(huán)境,當(dāng)然系統(tǒng)里得先裝好了python3,。 mkvirtualenv -p python3 py3env -p 后面的參數(shù)指定了python3(也有可能要換成python3.2/python3.4,,具體要看你系統(tǒng)里面/use/bin/里面的文件是什么名字),如果去掉這個(gè)參數(shù),,就會(huì)使用系統(tǒng)默認(rèn)的python,。最后一個(gè)參數(shù)py3env是創(chuàng)建的這個(gè)環(huán)境的名字。 執(zhí)行完了之后,,會(huì)自動(dòng)切換到這個(gè)新創(chuàng)建的虛擬環(huán)境,。我們會(huì)發(fā)現(xiàn)命令行提示符會(huì)發(fā)生改變,例如在我的機(jī)器上:從 (py3env)user@vm-ubuntu1204 變成了 (py3env)user@vm-ubuntu1204 ,,最前面多了這個(gè)虛擬環(huán)境的名字,。 其他一些常用命令: deactivate # 退出當(dāng)前虛擬環(huán)境 workon [虛擬環(huán)境名稱] # 使用某個(gè)虛擬環(huán)境 rmvirtualenv [虛擬環(huán)境名稱] # 刪除某個(gè)虛擬環(huán)境 lsvirtualenv # 列出所有虛擬環(huán)境 4. 包管理在實(shí)際使用中,,我們會(huì)用pip來管理python的包,而在虛擬環(huán)境里的包是和系統(tǒng)里的包分離開的,,虛擬環(huán)境之間的包也是隔離開的,。 在生產(chǎn)環(huán)境中,我們可能需要將程序部署在很多機(jī)器上,,如果能方便地把依賴的包同步到所有機(jī)器上能省去很多時(shí)間,。 可以在開發(fā)機(jī)器上執(zhí)行下面這個(gè)命令,來列出所有的包并保存到packages.txt,,其中-l參數(shù)是只列出當(dāng)前虛擬環(huán)境的包: pip freeze -l > packages.txt 然后在部署到生產(chǎn)環(huán)境的時(shí)候,,把packages.txt也復(fù)制到每個(gè)機(jī)器,并在每個(gè)機(jī)器上執(zhí)行: pip install -r packages.txt
5. 在pycharm中使用虛擬環(huán)境在設(shè)置里面Project Interpreter,,點(diǎn)擊齒輪那個(gè)按鈕,,選擇"Add Local",然后選擇剛才創(chuàng)建的虛擬環(huán)境的路徑,。如下圖所示: 6. 在虛擬環(huán)境中設(shè)置默認(rèn)命令有些時(shí)候,,我們希望在進(jìn)入虛擬環(huán)境之后執(zhí)行某些命令,或者設(shè)置一些環(huán)境變量,。 例如:在django運(yùn)行的時(shí)候,,可以通過環(huán)境變量DJANGO_SETTINGS_MODULE來指定配置文件的路徑。 我們可以在虛擬環(huán)境目錄下面創(chuàng)建文件bin/postactivate,,并在文件里面寫入: export DJANGO_SETTINGS_MODULE=config.django.production 這個(gè)文件會(huì)在每次進(jìn)入這個(gè)虛擬環(huán)境的時(shí)候被執(zhí)行,,這樣這個(gè)參數(shù)就會(huì)被設(shè)置了。 除了postactivate以外,,其他階段也可以有這樣的設(shè)置,,參看:https://virtualenvwrapper./en/latest/scripts.html 7. 參考鏈接兩篇比較好的博文: http://www.oschina.net/question/54100_26395
http://liuzhijun./blog/1872241
postactivate的用法: http:///a/11134336 官方文檔: https://virtualenvwrapper./en/latest/
|
|