相信很多學習過Python的同學應該都知道,pip是我們經常用來安裝Python第三方包的工具,不過第三方包安裝多了,包之間的依賴管理也是個問題,Pipenv是 Python官方推出的包管理工具,可以幫助我們管理虛拟環境以及第三方包之間的依賴關系。
安裝
安裝pipenv其實很簡單,直接用pip指令就可以安裝。
pip install pipenv
複制
建立虛拟環境
首先進入項目工程根目錄,建立虛拟環境。
pipenv install
複制
pipenv --python 3.7
複制
如果不指定版本号,pipenv會使用系統預設的Python版本。需要注意的是,這裡指定的Python版本必須是系統已經安裝的、可以在環境變量中搜尋到的版本号,如果指定未安裝的版本,會提示錯誤。
建立成功後,可以在根目錄中看到兩個檔案:Pipfile 和Pipfile.lock。Pipfile 中儲存着各個依賴包的版本資訊,Pipfile.lock儲存着依賴包的鎖資訊。
進入虛拟環境
pipenv shell
複制
在虛拟環境中安裝子產品(與使用pipenv install不同的是,在pipenv的虛拟環境中用pip install雖然也可以用于安裝子產品,但不會記錄到Pipfile與Pipfile.lock,在同步環境中會出現丢失子產品的問題,是以用pipenv時最好先忘掉pip)。
建立一個新的Pipfile.lock
pipenv lock
複制
安裝第三方包
這裡将安裝第三方依賴包,更新Pipfile,并且更新Pipfile.lock檔案。
pipenv install <包名>
複制
更新
檢視所有需要更新的包
pipenv update --outdated
複制
更新所有包
pipenv update
複制
更新指定的包
pipenv update <包名>
複制
檢視已安裝子產品
pipenv graph
複制
如果運作這指令出錯,可能是你的pipenv版本較老,可以更新試試
pip install pipenv –upgrade
複制
删除
删除虛拟環境中所有已安裝子產品
pipenv uninstall --all
複制
删除某個子產品
pipenv uninstall <包名>
複制
這個用法與pip類似
删除虛拟環境
pipenv --rm
複制
同步
其它伺服器上安裝好Python與pipenv,複制Pipfile與Pipfile.lock,在存放Pipfile的目錄中建立虛拟環境,執行以下兩行指令,就可自動建立項目需要的環境。
pipenv sync
複制
pipenv install
複制
這兩行指令差別是直接從Pipfile讀取或是從Pipfile.lock中讀取子產品和版本号,隻要你沒修改過這兩個檔案,結果通常都是一樣的。
總結
在日常工作中,如果你也經常在為Python各種包之間的依賴關系煩惱,建議可以嘗試使用pipenv這個包管理工具,可以省去不少的麻煩,提升工作效率!