Python 虛擬環(huán)境工具venv和pipenv使用

Python的虛擬環(huán)境工具有很多很多,這里只是總結(jié)我自己常用的兩種。

venv

venv模塊提供了一個(gè)創(chuàng)建輕量型“虛擬環(huán)境”的途徑,Python3.5后被官方推薦使用
(補(bǔ)充一點(diǎn),virtualenv,這一個(gè)工具也能安裝虛擬環(huán)境,但需要另外下載,支持 Python 2.7+ and Python 3.3+)

python3一般是內(nèi)置了venv模塊,如果沒(méi)有,ubuntu環(huán)境下,可以使用apt install python3-venv安裝

之后,在虛擬環(huán)境文件夾下會(huì)創(chuàng)建bin子文件夾(Windows下為Scripts)放置Python的二進(jìn)制文件的副本或快捷方式。另有l(wèi)ib/pythonX.Y/site-packages 子文件夾 ( Windows下為 Lib\site-packages)

創(chuàng)建虛擬環(huán)境

python3 -m venv /path/to /new/virtual/environment
一般我會(huì)習(xí)慣直接在項(xiàng)目根目錄下直接創(chuàng)建venv文件夾,如python3 -m venv venv

激活環(huán)境

在虛擬環(huán)境被創(chuàng)建之后,我們需要“激活”操作,才算是真正地進(jìn)入到虛擬環(huán)境

不同平臺(tái)及環(huán)境下,激活命令有所區(qū)別

bash/zsh:
$ source <venv>/bin/activate
fish:
$ . <venv>/bin/activate.fish
csh/tchs:
$ source <venv>/bin/activate.csh
cmd.exe:
C:\> <venv>\Scripts\activate.bat
Powershell:
PS C:\> <venv>\Scripts\Activate.ps1

激活后,當(dāng)前命令行會(huì)有(venv)標(biāo)志(venv為先前自定義的文件夾名),表示成功進(jìn)入虛擬環(huán)境,這時(shí)我們就可以使用pip/pip3安裝依賴了

更多使用細(xì)節(jié)

補(bǔ)充:一般在使用虛擬環(huán)境時(shí),我們會(huì)配合使用requirement.txt文件來(lái)記錄項(xiàng)目使用的依賴包和版本號(hào)
requirement.txt生成方法
pip freeze > requirements.txt
安裝requirement.txt內(nèi)依賴
pip install -r requirement.txt

pipenv

pipenv是一個(gè)第三方的虛擬環(huán)境工具,能自動(dòng)創(chuàng)建及管理虛擬環(huán)境,例如當(dāng)你安裝/卸載依賴包的時(shí)候,它能自動(dòng)記錄并修改Pipfile文件,而pipfile.lock則記錄了固定版本的詳細(xì)依賴包列表。同時(shí),還能夠自動(dòng)加載.env文件。
安裝pipenv
pip install pipenv

安裝依賴

pipenv install 無(wú)參數(shù)時(shí),所有依賴包都會(huì)安裝。--dev參數(shù)則用來(lái)包括開(kāi)發(fā)依賴

激活環(huán)境

pipenv shell命令直接激活,進(jìn)入環(huán)境,無(wú)虛擬環(huán)境則會(huì)自動(dòng)創(chuàng)建
--three/--two參數(shù)則會(huì)在創(chuàng)建虛擬環(huán)境時(shí)選擇python3/2環(huán)境,保證依賴包環(huán)境;--python 3.7這種形式則更加具體

更多細(xì)節(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容