virtualenv是一個(gè)用來創(chuàng)建隔離的python虛擬環(huán)境的工具。它可以在一個(gè)獨(dú)立的目錄創(chuàng)建自己的python環(huán)境,使用virtualenv運(yùn)行的程序,并不會(huì)訪問全局的python環(huán)境,也不會(huì)訪問不屬于自己目錄的python環(huán)境,這樣就可以起到隔離python環(huán)境的作用。
安裝virtualenv
在開發(fā)Python應(yīng)用程序的時(shí)候,所有第三方的包都會(huì)被pip安裝到Python的site-packages目錄下。且只能安裝一個(gè)版本,因此,如果我們要同時(shí)開發(fā)多個(gè)應(yīng)用程序,這些應(yīng)用程序都共用一個(gè)Python,但是不同的應(yīng)用程序依賴的第三方包的版本不一樣時(shí),就會(huì)比較難處理。
這種情況下,可以通過virtualenv來為每個(gè)應(yīng)用創(chuàng)建一套“隔離”的Python運(yùn)行環(huán)境。這樣各應(yīng)用依賴的第三方包就可以互不影響。
首先,我們用pip安裝virtualenv:
sudo pip3 install virtualenv
注意: 一定要用管理員權(quán)限安裝,否則會(huì)提示找不到virtualenv。
創(chuàng)建虛擬環(huán)境
安裝完virtualenv后,就可以通過命令行創(chuàng)建一個(gè)虛擬環(huán)境。例如:
virtualenv --no-site-packages .venv
通過這個(gè)命令就可以在當(dāng)前目錄下新建一個(gè)名為.venv的目錄,這個(gè)目錄下就是新創(chuàng)建的虛擬Python運(yùn)行環(huán)境。加上參數(shù)--no-site-packages表明不需要復(fù)制已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包。
使用虛擬環(huán)境
虛擬環(huán)境需要通過source命令進(jìn)入。
source .venv/bin/activate
執(zhí)行命令后可以看到命令提示符有個(gè)(.venv)前綴,表示當(dāng)前正在使用名為.venv的Python虛擬環(huán)境。
indoors31@indoors31-PC:~/Documents/Workspace/Hello$ source .venv/bin/activate
(.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$
退出虛擬環(huán)境
通過deactivate可以退出當(dāng)前使用的虛擬環(huán)境。
(.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$ deactivate
indoors31@indoors31-PC:~/Documents/Workspace/Hello$
安裝virtualenvwrapper
使用virtualenv需要進(jìn)入相對(duì)應(yīng)的路徑,且linux和windows下的使用有些區(qū)別,可以通過使用virtualenvwrapper來簡化對(duì)虛擬環(huán)境的操作。
安裝步驟:
sudo pip3 install virtualenvwrapper
mkdir $HOME/.virtualenvs 保存虛擬環(huán)境的目錄
vim ~/.bashrc
添加命令如下:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
保存退出,執(zhí)行 source ~/.bashrc
使用virtualenvwrapper
可以通過mkvirtualenv命令創(chuàng)建虛擬環(huán)境:
mkvirtualenv .venv
執(zhí)行后就會(huì)在剛才的 WORKON_HOME 所設(shè)置的目錄下創(chuàng)建名為 .venv 的虛擬環(huán)境并且自動(dòng)進(jìn)入。
與virtualenv一樣,使用deactivate命令退出虛擬環(huán)境。
退出后再次進(jìn)入虛擬環(huán)境不需要像virtualenv那樣去尋找路徑,直接可以使用workon命令就進(jìn)入虛擬環(huán)境:
workon .venv
virtualenvwrapper的其它命令r
- mvirtualenv ENV 刪除運(yùn)行環(huán)境ENV
- mkproject hello 創(chuàng)建hello項(xiàng)目和運(yùn)行環(huán)境hello
- mktmpenv 創(chuàng)建臨時(shí)運(yùn)行環(huán)境
- lsvirtualenv 列出可用的運(yùn)行環(huán)境
- lssitepackages 列出當(dāng)前環(huán)境安裝的包
總結(jié)
以上所述是小編給大家介紹的Deepin中安裝與使用virtualenv的教程,希望對(duì)大家有所幫助!