1.Pipenv 介紹
Pipenv是基於pip的Python包管理工具,它和pip的用法非常相似,可以看做pip的加強版。
pipenv解決了舊的pip+virtualenv+requirements.txt 的工作方式的弊端(因為requirements.txt 需要手動維護,使用上不夠靈活)
具體來說,它是pip、Pipfile、Virtualenv的結合體,它讓安裝包、包依賴管理和虛擬環境管理更加方便。
2.pipenv使用
(1)安裝:
pip install pipenv
檢查是否創建成功:
pipenv --version
(2)創建虛擬環境:
pipenv install
這會為當前項目創建一個文件夾,其中包含隔離的Python解釋其環境,並且安裝pip、wheel、setuptools等基本的包。
(3)激活虛擬環境
pipenv shell
當執行pipenv shell 命令時, Pipenv 會自動從項目目錄下的.env文件中加載環境變量。
現在你會發現,命令行提示符前面添加了虛擬環境名,這說明我們已經成功激活了虛擬環境,現在你所有的命令都會在虛擬環境中執行。
(4)退出虛擬環境
exit
3. 管理依賴包
一個程序通常會使用很多的Python包,即依賴(dependency)。而程序不僅僅會在一台電腦上運行,程序部署上線時,需要安裝到遠程服務器上。
如果你打算開源的話,就可能會有更多的人需要在他們的電腦上運行。為此,他們不得不記錄下所有的依賴包,然后使用pip或Pipenv安裝,這些重復無用的工作當然應該避免。
而且requirements.txt 需要手動維護,使用上不夠靈活。Pipfile的出現就是為了替代難於管理的requirements.txt。
在創建虛擬環境時,如果項目根目錄下沒有Pipfile文件,pipenv還會在項目的根文件夾目錄下創建Pipfile和Pipfile.lock文件。
前者用來記錄項目依賴包列表,后者記錄了固定版本的詳細依賴包列表。當我們使用Pipenv 安裝/刪除/更新 依賴包時,二者會自動更新。
查看當前環境下的依賴情況:
pipenv graph
在虛擬環境中查看依賴列表:
pip list
當需要在一個新的環境運行程序時, 只需要執行 pipenv install 命令
pipenv 就會創建一個新的虛擬環境,然后自動從Pipfile中讀取依賴並安裝到新創建的虛擬環境中。