python-virtualenv-and-virtualenvwrapper


學(xué)過(guò)的東西,如果因?yàn)闆](méi)用過(guò)就忘記了,那就是相當(dāng)于沒(méi)學(xué)過(guò)吧?


virtualenv

虛擬環(huán)境是一個(gè)可以把不同項(xiàng)目所需要的依賴獨(dú)立開來(lái)的工具,它創(chuàng)建了一個(gè)虛擬的 python 環(huán)境,解決了不同項(xiàng)目依賴不同版本,
不同庫(kù)等問(wèn)題,而且讓 我們的全局 python 環(huán)境保持干凈和可管理。

安裝

可通過(guò) pip 安裝:

pip install virtualenv

使用

  1. 創(chuàng)建存放虛擬環(huán)境的目錄
cd project_folder 
  1. 創(chuàng)建虛擬環(huán)境
virtualenv -p /usr/bin/python2 project

說(shuō)明:
-p 是選擇一個(gè) python 解釋器,不指定就是默認(rèn)的 python 解釋器

  1. 激活
source project/bin/activate

說(shuō)明:
激活后提示符左側(cè)會(huì)有激活成功的提示,激活后就是使用虛擬的 python 環(huán)境了
如:(env)[root@localhost ~] #

  1. 停用
deactivate

說(shuō)明: 使用完后,想要切換為全局 python 環(huán)境就要使用這條命令。

其他

  1. virtualenv 的 --no-site-packages 參數(shù)是指不會(huì)包括全局安裝的包。(virtualenv 1.7 版本后是默認(rèn)參數(shù))
  2. 關(guān)于 pip 的妙用
    使用 pip freeze > requirements.txt 可以把當(dāng)前環(huán)境中的所有包和各自的版本寫入 requirements.txt 里,
    然后,使用 pip install -r requirements.txt 就安裝文件里相應(yīng)版本的包

virtualenvwrapper

virtualenvwrapper 是 virtualenv 的擴(kuò)展包。提供了更加方便的功能。

安裝

pip install virtualenvwrapper

提供環(huán)境

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
export  PROJECT_HOME=/home/mroot/python/wrapper/

說(shuō)明:
可能環(huán)境變量有變化,具體應(yīng)該參考官網(wǎng)。

激活

source /usr/bin/virtualenvwrapper.sh

說(shuō)明:
路徑不同系統(tǒng)存在偏差,具體參考官網(wǎng)

使用

  1. 創(chuàng)建虛擬環(huán)境
mkvirtualenv project

說(shuō)明:
創(chuàng)建的虛擬環(huán)境會(huì)保存在之前設(shè)置的 WORKON_HOME 目錄里

  1. 工作
workon project

說(shuō)明: 在創(chuàng)建虛擬環(huán)境時(shí)默認(rèn)就進(jìn)入了工作模式,這個(gè)命令可以在沒(méi)在工作模式使用

  1. 創(chuàng)建項(xiàng)目
mkproject project

說(shuō)明:
這個(gè)命令可以創(chuàng)建虛擬環(huán)境,同時(shí)創(chuàng)建項(xiàng)目,并且自動(dòng)進(jìn)入項(xiàng)目根目錄

  1. 停用
deactivate

說(shuō)明: 使用完后,想要切換為全局 python 環(huán)境就要使用這條命令。

其他

lsvirtualenv: 列舉所有的環(huán)境。
cdvirtualenv: 導(dǎo)航到當(dāng)前激活的虛擬環(huán)境的目錄中,比如說(shuō)這樣你就能夠?yàn)g覽它的 site-packages 。
lssitepackages: 顯示 site-packages 目錄中的內(nèi)容。

參考

http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html
https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容