當前位置:
首頁 > 知識 > 為什麼Python開發者都應該嘗試使用Pipenv?

為什麼Python開發者都應該嘗試使用Pipenv?

Pipenv是Kenneth Reitz在一年多前創建的「面向程序員的Python開發工作流程」,現在已成為管理軟體包依賴關係的Python官方推薦資源。

為什麼Python開發者都應該嘗試使用Pipenv?

Python軟體包安裝管理的簡要歷史

為了正確理解Pipenv解決的問題,有必要了解Python軟體包管理的發展歷史。

起初,我們有Python,但沒有乾淨的方式來安裝軟體包。

然後,Easy Install出現了,它是一個可以相對容易安裝Python軟體包的工具。但它帶來了一個問題:卸載不需要的軟體包並不容易。

後來,大多數Python用戶熟悉使用pip命令安裝和卸載軟體包。用戶可以指定版本,運行pip freeze> requirements.txt將已安裝軟體包的列表輸出到文本文件,並使用相同的文本文件pip install -r requirements.txt命令安裝所需的應用程序。

但是,pip並不能將軟體包彼此隔離。用戶可能會使用不同版本的相同庫的應用程序,因此我們需要一種方法來啟用它。隨著虛擬環境的發展,我們為每個應用程序創建了小型,孤立的環境。我們已經看到許多用於管理虛擬環境的工具:virtualenv,venv,virtualenvwrapper,pyenv,pyenv-virtualenv,pyenv-virtualenvwrapper等等。它們都可以在pip和requirements.txt文件中很好地發揮作用。

Pipenv能幹什麼?

Pipenv旨在解決幾個問題。

首先,需要用於軟體包安裝的庫、用於創建虛擬環境的庫、用於管理虛擬環境的庫以及與這些庫相關的所有命令。Pipenv提供包管理和虛擬環境支持,用戶可以使用一種工具來安裝,卸載,跟蹤和記錄依賴關係以及創建,使用和組織虛擬環境。當你用它開始一個項目時,如果你還沒有使用Pipenv,Pipenv會自動為該項目創建一個虛擬環境。

Pipenv通過放棄therequirements.txt規範轉而使用稱為Pipfile的新文檔來完成此依賴性管理。當使用Pipenv安裝庫時,項目的Pipfile會自動更新,包括版本信息以及可能的Git存儲庫位置,文件路徑和其他信息。

為什麼Python開發者都應該嘗試使用Pipenv?

其次,Pipenv可以更容易管理複雜的相互依賴關係。假設,你的應用程序可能依賴於特定版本的庫,並且該庫可能依賴於另一個特定版本的庫。當應用使用的兩個庫具有相互衝突的依賴關係時,你的生活會變得艱難。Pipenv通過名為Pipfile.lock的文件中跟蹤應用程序相互依賴關係的樹來減輕這種痛苦。Pipfile.lock還會驗證生產中是否使用了正確版本的依賴關係。

另外,Pipenv在多個開發人員協同開發項目時非常方便。由於Pipenv會在安裝軟體包時自動記錄依賴關係,所有人都能夠按照預期正確安裝依賴關係,開發人員可以節省時間並更快地開發產品。

此外,Pipenv具有更好的安全特性,以易於理解的格式繪製依賴關係圖,無縫處理.env文件,並且可以在一個文件中自動處理開發與生產環境的不同依賴關係。

使用Pipenv的基礎知識詳見官方Python教程的管理應用程序依賴關係部分。總之,一年時間,Pipenv就成長為Python官方推薦的頂級資源一定有其優勢所在,所有Python程序員不妨在評論區留下自己對Pipenv的看法。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

知既往 見未來 2017浪潮交出了怎樣的成績單
華麗轉身 Avaya走出破產陰影紐交所成功上市

TAG:IT168企業級 |