真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Pipenv

這篇文章給大家介紹如何使用Pipenv,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),崖州企業(yè)網(wǎng)站建設(shè),崖州品牌網(wǎng)站建設(shè),網(wǎng)站定制,崖州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,崖州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Pipenv 是由 Kenneth Reitz 在一年多前創(chuàng)建的“面向開發(fā)者而生的 Python 開發(fā)工作流”,它已經(jīng)成為管理軟件包依賴關(guān)系的 Python 官方推薦資源。但是對(duì)于它解決了什么問題,以及它如何比使用 piprequirements.txt 文件的標(biāo)準(zhǔn)工作流更有用處,這兩點(diǎn)仍然存在困惑。在本月的 Python 專欄中,我們將填補(bǔ)這些空白。

Python 包安裝簡(jiǎn)史

為了理解 Pipenv 所解決的問題,看一看 Python 包管理如何發(fā)展十分有用的。

讓我們回到***個(gè) Python 版本,這時(shí)我們有了 Python,但是沒有干凈的方法來安裝軟件包。

然后有了 Easy Install,這是一個(gè)可以相對(duì)容易地安裝其他 Python 包的軟件包,但它也帶來了一個(gè)問題:卸載不需要的包并不容易。

pip 登場(chǎng),絕大多數(shù) Python 用戶都熟悉它。pip 可以讓我們安裝和卸載包。我們可以指定版本,運(yùn)行 pip freeze > requirements.txt 來輸出一個(gè)已安裝包列表到一個(gè)文本文件,還可以用相同的文本文件配合 pip install -r requirements.txt 來安裝一個(gè)應(yīng)用程序需要的所有包。

但是 pip 并沒有包含將軟件包彼此隔離的方法。我們可能會(huì)開發(fā)使用相同庫(kù)的不同版本的應(yīng)用程序,因此我們需要一種方法來實(shí)現(xiàn)這一點(diǎn)。隨之而來的是虛擬環(huán)境,它使我們能夠?yàn)槲覀冮_發(fā)的每個(gè)應(yīng)用程序創(chuàng)建一個(gè)小型的、隔離的環(huán)境。我們已經(jīng)看到了許多管理虛擬環(huán)境的工具:virtualenv、 venv、 virtualenvwrapper、 pyenv、 pyenv-virtualenv、 pyenv-virtualenvwrapper 等等。它們都可以很好地使用 piprequirements.txt 文件。

新方法:Pipenv

Pipenv 旨在解決幾個(gè)問題:

首先,需要 pip  庫(kù)來安裝包,外加一個(gè)用于創(chuàng)建虛擬環(huán)境的庫(kù),以及用于管理虛擬環(huán)境的庫(kù),再有與這些庫(kù)相關(guān)的所有命令。這些都需要管理。Pipenv  附帶包管理和虛擬環(huán)境支持,因此你可以使用一個(gè)工具來安裝、卸載、跟蹤和記錄依賴性,并創(chuàng)建、使用和組織你的虛擬環(huán)境。當(dāng)你使用它啟動(dòng)一個(gè)項(xiàng)目時(shí),如果你還沒有使用虛擬環(huán)境的話,Pipenv  將自動(dòng)為該項(xiàng)目創(chuàng)建一個(gè)虛擬環(huán)境。

Pipenv 通過放棄 requirements.txt 規(guī)范轉(zhuǎn)而將其移動(dòng)到一個(gè)名為 Pipfile 的新文檔中來完成這種依賴管理。當(dāng)你使用 Pipenv 安裝一個(gè)庫(kù)時(shí),項(xiàng)目的 Pipfile 會(huì)自動(dòng)更新安裝細(xì)節(jié),包括版本信息,還有可能的 Git 倉(cāng)庫(kù)位置、文件路徑和其他信息。

其次,Pipenv  希望能更容易地管理復(fù)雜的相互依賴關(guān)系。你的應(yīng)用程序可能依賴于某個(gè)特定版本的庫(kù),而那個(gè)庫(kù)可能依賴于另一個(gè)特定版本的庫(kù),這些依賴關(guān)系如海龜般堆疊起來。當(dāng)你的應(yīng)用程序使用的兩個(gè)庫(kù)有沖突的依賴關(guān)系時(shí),你的情況會(huì)變得很艱難。Pipenv  希望通過在一個(gè)名為 Pipfile.lock 的文件中跟蹤應(yīng)用程序相互依賴關(guān)系樹來減輕這種痛苦。Pipfile.lock 還會(huì)驗(yàn)證生產(chǎn)中是否使用了正確版本的依賴關(guān)系。

另外,當(dāng)多個(gè)開發(fā)人員在開發(fā)一個(gè)項(xiàng)目時(shí),Pipenv 很方便。通過 pip 工作流,凱西可能會(huì)安裝一個(gè)庫(kù),并花兩天時(shí)間使用該庫(kù)實(shí)現(xiàn)一個(gè)新功能。當(dāng)凱西提交更改時(shí),他可能會(huì)忘記運(yùn)行 pip freeze 來更新 requirements.txt 文件。第二天,杰米拉取凱西的改變,測(cè)試就突然失敗了。這樣會(huì)花費(fèi)好一會(huì)兒才能意識(shí)到問題是在 requirements.txt 文件中缺少相關(guān)庫(kù),而杰米尚未在虛擬環(huán)境中安裝這些文件。

因?yàn)?Pipenv 會(huì)在安裝時(shí)自動(dòng)記錄依賴性,如果杰米和凱西使用了 Pipenv,Pipfile 會(huì)自動(dòng)更新并包含在凱西的提交中。這樣杰米和凱西就可以節(jié)省時(shí)間并更快地運(yùn)送他們的產(chǎn)品。

***,將 Pipenv 推薦給在你項(xiàng)目上工作的其他人,因?yàn)樗褂脴?biāo)準(zhǔn)化的方式來安裝項(xiàng)目依賴項(xiàng)和開發(fā)和測(cè)試的需求。使用 pip 工作流和 requirements.txt 文件意味著你可能只有一個(gè) requirements.txt 文件,或針對(duì)不同環(huán)境的多個(gè) requirements.txt 文件。例如,你的同事可能不清楚他們是否應(yīng)該在他們的筆記本電腦上運(yùn)行項(xiàng)目時(shí)是運(yùn)行 dev.txt 還是 local.txt。當(dāng)兩個(gè)相似的 requirements.txt 文件彼此不同步時(shí)它也會(huì)造成混淆:local.txt 是否過時(shí)了,還是真的應(yīng)該與 dev.txt 不同?多個(gè) requirements.txt 文件需要更多的上下文和文檔,以使其他人能夠按照預(yù)期正確安裝依賴關(guān)系。這個(gè)工作流程有可能會(huì)混淆同時(shí)并增加你的維護(hù)負(fù)擔(dān)。

使用 Pipenv,它會(huì)生成 Pipfile,通過為你管理對(duì)不同環(huán)境的依賴關(guān)系,可以避免這些問題。該命令將安裝主項(xiàng)目依賴項(xiàng):

pipenv install

添加 --dev 標(biāo)志將安裝開發(fā)/測(cè)試的 requirements.txt

pipenv install --dev

使用 Pipenv 還有其他好處:它具有更好的安全特性,以易于理解的格式繪制你的依賴關(guān)系,無縫處理 .env 文件,并且可以在一個(gè)文件中自動(dòng)處理開發(fā)與生產(chǎn)環(huán)境的不同依賴關(guān)系。你可以在文檔中閱讀更多內(nèi)容。

使用 Pipenv

使用 Pipenv 的基礎(chǔ)知識(shí)在官方 Python 包管理教程管理應(yīng)用程序依賴關(guān)系部分中詳細(xì)介紹。要安裝 Pipenv,使用 pip

pip install pipenv

要安裝在項(xiàng)目中使用的包,請(qǐng)更改為項(xiàng)目的目錄。然后安裝一個(gè)包(我們將使用 Django 作為例子),運(yùn)行:

pipenv install django

你會(huì)看到一些輸出,表明 Pipenv 正在為你的項(xiàng)目創(chuàng)建一個(gè) Pipfile。

如果你還沒有使用虛擬環(huán)境,你還會(huì)看到 Pipenv 的一些輸出,說明它正在為你創(chuàng)建一個(gè)虛擬環(huán)境。

然后,你將看到你在安裝包時(shí)??吹降妮敵?。

為了生成 Pipfile.lock 文件,運(yùn)行:

pipenv lock

你也可以使用 Pipenv 運(yùn)行 Python 腳本。運(yùn)行名為 hello.py 的上層 Python 腳本:

pipenv run python hello.py

你將在控制臺(tái)中看到預(yù)期結(jié)果。

啟動(dòng)一個(gè) shell,運(yùn)行:

pipenv shell

如果你想將當(dāng)前使用 requirements.txt 文件的項(xiàng)目轉(zhuǎn)換為使用 Pipenv,請(qǐng)安裝 Pipenv 并運(yùn)行:

pipenv install requirements.txt

這將創(chuàng)建一個(gè) Pipfile 并安裝指定的 requirements.txt??紤]一下升級(jí)你的項(xiàng)目!

了解更多

查看 Pipenv 文檔,特別是 Pipenv 的基本用法,以幫助你進(jìn)一步學(xué)習(xí)。Pipenv 的創(chuàng)建者 Kenneth Reitz 為 Pipenv 在最近的 PyTennessee 發(fā)表了一篇演講:“Python 依賴管理的未來”。這次演講沒有被記錄下來,但他的幻燈片有助于理解 Pipenv 所做的以及解決的問題。

關(guān)于如何使用Pipenv就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


名稱欄目:如何使用Pipenv
本文網(wǎng)址:http://weahome.cn/article/pcjdps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部