Pipenv-官方推薦的python包管理工具.
Pipenv是一款旨在將所有包管理工具(如bundler, composer,?npm, cargo, yarn等)的優(yōu)點(diǎn)集中應(yīng)用于python領(lǐng)域中的工具专甩。它對(duì)各個(gè)平臺(tái)都有很好的支持遇八。
它可以為你的項(xiàng)目自動(dòng)創(chuàng)建和管理虛擬環(huán)境本股,并且在你安裝/刪除包時(shí)自動(dòng)在Pipfile中添加/移除相應(yīng)的包舟山。它同時(shí)生成一個(gè)非常重要的Pipfile.lock文件抹竹,來保證所構(gòu)建環(huán)境的確定性柬采。
Pipenv想要解決的問題是多方面的:
你不需要再分別使用pip和virtualenv夜焦,在Pipenv中他們一起工作
管理一個(gè)requirements.txt文件會(huì)產(chǎn)生很多問題鳄厌,所以Pipenv用后面會(huì)出現(xiàn)的Pipfile和Pipfile.lock將其代替,這在實(shí)際例子中效果會(huì)更好拼缝。
為了安全性娱局,哈希在多處被使用。自動(dòng)公開安全漏洞咧七。
讓你通過圖形深入了解當(dāng)前的依賴關(guān)系($ pipenv graph)
通過加載.env文件簡(jiǎn)化開發(fā)流程
安裝
Windows環(huán)境:
$ pip install pipenv
如果你使用的是macOS衰齐,你可以使用Homebrew安裝:
$ brew installpipenv
特性
容易的實(shí)現(xiàn)確定性構(gòu)建,同時(shí)可輕易地指定你想要的內(nèi)容
在鎖定依賴項(xiàng)時(shí)继阻,生成并檢查文件的哈希
如果pyenv可用耻涛,自動(dòng)安裝所需要的Python
通過查找Pipfile,遞歸的自動(dòng)查找你的項(xiàng)目
如果Pipfile不存在穴翩,則自動(dòng)生成一個(gè)
在標(biāo)準(zhǔn)地址自動(dòng)創(chuàng)建一個(gè)虛擬環(huán)境
當(dāng)包被安裝或者刪除時(shí)犬第,自動(dòng)在Pipfile中修改。
如果.env文件存在芒帕,則自動(dòng)載入
主要命令包括install歉嗓,uninstall,以及lock(生成Pipfile.lock)背蟆。這些命令可以替代$ pip install使用以及對(duì)虛擬環(huán)境的手動(dòng)管理(激活虛擬環(huán)境鉴分,只需運(yùn)行$ pipenv shell)
基本概念
當(dāng)虛擬環(huán)境不存在時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)
當(dāng)沒有參數(shù)傳給install時(shí)带膀,將安裝所有指定的包
通過$ pipenv --three志珍,初始化一個(gè)Python3的虛擬環(huán)境
通過$ pipenv --two,初始化一個(gè)Python2的虛擬環(huán)境
其他命令下生成的虛擬環(huán)境都是默認(rèn)設(shè)置
其他命令
shell命令會(huì)生成一個(gè)激活了虛擬環(huán)境的shell
run將運(yùn)行輸入到虛擬環(huán)境的命令垛叨,并轉(zhuǎn)發(fā)所有參數(shù)(e.g.$ pipenv run python)
check確定當(dāng)前環(huán)境滿足PEP 508的要求
graph將輸出一個(gè)包含當(dāng)前所有已安裝依賴的漂亮圖形
Shell 補(bǔ)全
舉個(gè)例子伦糯,使用fish shell,將下列命令加入~/.config/fish/completions/pipenv.fish:
eval (pipenv --completion)
另外,也可以使用bash敛纲,將下列代碼加入.bashrc或者.bash_profile:
eval "$(pipenv --completion)"
神奇的shell補(bǔ)全功能現(xiàn)在已經(jīng)可以使用了N够鳌(Fish 是最好的shell,你應(yīng)該使用它)
應(yīng)用
定位項(xiàng)目:
定位虛擬環(huán)境:
定位Python解釋器:
安裝包:
安裝一個(gè)開發(fā)環(huán)境依賴:
展示一個(gè)依賴圖:
生成一個(gè)lockfile:
安裝所有開發(fā)依賴:
卸載全部:
使用shell:
文檔
文檔存放在https://docs.pipenv.org/
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Author: Kelley? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2017/11/28