天天看點

Pipenv快速入門同步

相信很多學習過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這個包管理工具,可以省去不少的麻煩,提升工作效率!