在日常開(kāi)發(fā)中,經(jīng)??赡苄枰煌膒ython版本,或者安裝不同的庫(kù),這就意味著需要不同的虛擬環(huán)境來(lái)處理這個(gè)問(wèn)題了。
目前用來(lái)創(chuàng)建虛擬環(huán)境的庫(kù)主要包括virtualenv, virtualenvwrapper,pipenv。在python3中還自帶venv的庫(kù),venv則不可以創(chuàng)建python2。
Virtualenv
安裝virtualenv
# 安裝virtualenv
$pipinstallvirtualenv
創(chuàng)建虛擬環(huán)境
#創(chuàng)建一個(gè)python虛擬環(huán)境? 不包括已安裝的其他庫(kù)
$virtualenv venv_name
#創(chuàng)建一個(gè)指定python版本的虛擬環(huán)境
$? virtualenv -p python3.8 venv_name
進(jìn)入虛擬環(huán)境
#如果ls不能顯示你的venv_name,則需要輸入完整的路徑
$ venv_name\Scripts\activate
# 在你的命令行可以看到你的虛擬環(huán)境名稱則表示進(jìn)入成功
(venv_name)$
退出虛擬環(huán)境
$ deactivate
Virtualenvwrapper
安裝Virtualenvwrapper
#安裝virtualenvwrapper的win版本
>pipinstallvirtualenvwrapper-win
"""
安裝完成之后你可以在環(huán)境變量里添加一個(gè)WORKON_HOME指定到某一個(gè)特定的
文件夾下,這樣你的虛擬環(huán)境就會(huì)在該目錄下被創(chuàng)建,就不用因?yàn)橥浟颂摂M
環(huán)境的路徑而找不到虛擬環(huán)境了。(如果你自己有規(guī)定的位置來(lái)創(chuàng)建虛擬環(huán)境,
那么也是可以不添加的)
"""
創(chuàng)建虛擬環(huán)境
#創(chuàng)建虛擬環(huán)境
> mkvirtualenvvenv_name
查看已經(jīng)創(chuàng)建的虛擬環(huán)境
#相比較virtualenv的好處就是你可以查看已經(jīng)創(chuàng)建的虛擬環(huán)境,
#這樣就不必?fù)?dān)心是否給某個(gè)項(xiàng)目創(chuàng)建過(guò)虛擬環(huán)境了
> lsvirtualenv
使用某個(gè)虛擬環(huán)境
#好處就是你不需要指定完整的路徑,或者cd到對(duì)應(yīng)的目錄下去執(zhí)行activate
> workon venv_name
#退出虛擬環(huán)境
deactivate
刪除虛擬環(huán)境
> rmvirtualenv venv_name
pipenv
安裝pipenv
$ pip install pipenv
pipenv 類似于pip+virtualenv,除了可以創(chuàng)建虛擬環(huán)境之外還可以安裝第三方庫(kù)。如果設(shè)置了環(huán)境變量WORK_ON_PROJECT,那么在安裝虛擬環(huán)境時(shí)會(huì)自動(dòng)在你的項(xiàng)目的根目錄下創(chuàng)建虛擬環(huán)境。
創(chuàng)建虛擬環(huán)境
#創(chuàng)建虛擬環(huán)境并安裝Flask庫(kù),如果已經(jīng)創(chuàng)建過(guò)了虛擬環(huán)境,則只安裝Flask庫(kù)
#如果只安裝虛擬環(huán)境,則只執(zhí)行pipenv install即可
$ pipenv install Flask
進(jìn)入虛擬環(huán)境
$ pipenv shell
刪除虛擬環(huán)境
$pipenv --rm
退出
# 與其他的不同,需要使用exit來(lái)退出虛擬環(huán)境
exit
pipenv會(huì)在文件Pipfile和Pipfile.lock中存放包的信息和依賴關(guān)系。而其他的如果需要將使用的包信息保存到文件中則需要pip freeze > requirements.txt命令來(lái)處理。
venv
venv是python3.3以后集成的,支持python3.3及以后版本創(chuàng)建虛擬環(huán)境,python2還是老老實(shí)實(shí)的使用其他的庫(kù)來(lái)操作吧。
創(chuàng)建虛擬環(huán)境
$python-mvenvvenv_name
venv創(chuàng)建的虛擬環(huán)境和virtualenv創(chuàng)建的虛擬環(huán)境使用方法基本一致,這里就不多贅述了。
最后安利一個(gè)pycharm選擇python解釋器的方法。
創(chuàng)建項(xiàng)目時(shí),如果不希望創(chuàng)建新的虛擬環(huán)境,則點(diǎn)擊Existing interpreter然后自己根據(jù)虛擬環(huán)境路徑來(lái)選擇就可以啦,這樣就不用擔(dān)心創(chuàng)建完項(xiàng)目找不到解釋器,也不用擔(dān)心每創(chuàng)建一個(gè)項(xiàng)目就創(chuàng)建一個(gè)虛擬環(huán)境了。(媽媽再也不用擔(dān)心我的磁盤(pán)變紅啦!233333!?。。。。?br>
看完這些你是不是對(duì)虛擬環(huán)境有了新的認(rèn)識(shí)了呢,那就趕快的來(lái)操作一番吧。