python包管理工具pipenv的使用
一、簡(jiǎn)介
Pipenv,它的項(xiàng)目簡(jiǎn)介為 Python Development Workflow for Humans,是 Python 著名的 requests 庫(kù)作者 kennethreitz 寫的一個(gè)包管理工具,它可以為我們的項(xiàng)目自動(dòng)創(chuàng)建和管理虛擬環(huán)境并非常方便地管理 Python 包,現(xiàn)在它也已經(jīng)是 Python 官方推薦的包管理工具。
Pipenv 我們可以簡(jiǎn)單理解為 pip 和 virtualenv 的集合體,它可以為我們的項(xiàng)目自動(dòng)創(chuàng)建和管理一個(gè)虛擬環(huán)境。virtualenv 在使用時(shí)我們需要手動(dòng)創(chuàng)建一個(gè)虛擬環(huán)境然后激活,Pipenv 會(huì)自動(dòng)創(chuàng)建。另外我們之前可能使用 requirements.txt 文件來標(biāo)識(shí)項(xiàng)目所需要的依賴,但是這樣會(huì)帶來一些問題,如有的 requirements.txt 中只是將庫(kù)名列出來了,沒有嚴(yán)格指定版本號(hào),這樣就可能會(huì)導(dǎo)致不同時(shí)間安裝的庫(kù)版本是不同的,如 requirements.txt 文件中對(duì) Django 的依賴只寫了一個(gè) django,可能在 2016 年的時(shí)候運(yùn)行安裝會(huì)安裝 Django 的 1.x 版本,到了 2017 年就會(huì)安裝 Django 的 2.x 版本,所以可能導(dǎo)致一些麻煩。為了解決這個(gè)問題,Pipenv 直接棄用了 requirements.txt,會(huì)同時(shí)它會(huì)使用一個(gè)叫做 Pipfile 和 Pipfile.lock 的文件來管理項(xiàng)目所需的依賴包,而不再是簡(jiǎn)單地使用 requirements.txt 文件來記錄項(xiàng)目所需要的依賴。
總的來說,Pipenv 可以解決如下問題:
- 我們不需要再手動(dòng)創(chuàng)建虛擬環(huán)境,Pipenv 會(huì)自動(dòng)為我們創(chuàng)建,它會(huì)在某個(gè)特定的位置創(chuàng)建一個(gè) virtualenv 環(huán)境,然后調(diào)用
pipenv shell命令切換到虛擬環(huán)境。 - 使用 requirements.txt 可能會(huì)導(dǎo)致一些問題,所以 Pipenv 使用 Pipfile 和 Pipfile.lock 來替代之,而且 Pipfile 如果不存在的話會(huì)自動(dòng)創(chuàng)建,而且在安裝、升級(jí)、移除依賴包的時(shí)候會(huì)自動(dòng)更新 Pipfile 和 Pipfile.lock 文件。
- 廣泛使用 Hash 校驗(yàn),保證安全性。
- 可以更清晰地查看 Python 包及其關(guān)系,調(diào)用
pipenv graph即可呈現(xiàn),結(jié)果簡(jiǎn)單明了。 - 可通過自動(dòng)加載 .env 讀取環(huán)境變量,簡(jiǎn)化開發(fā)流程。
pipenv是pip的升級(jí)版,超好用,是requests作者K神搞出來的,就是一個(gè)字,真TaM香!
pycharm打開項(xiàng)目后在settings中給項(xiàng)目配置本地解釋器環(huán)境

第二步:【安裝pipenv】
直接在底部打開命令行,會(huì)自動(dòng)就切入項(xiàng)目?jī)?nèi)部,或者打開cmd命令窗口,然后自己cd到項(xiàng)目根目錄,如果之前沒有用過pipenv,就直接:
pip install pipenv
檢查是否成功:
pipenv --version
第三步:【創(chuàng)建虛擬環(huán)境、安裝依賴包】
-
情況一:你拿來的項(xiàng)目一般自帶Pipfile.py和Pipfile.lock,這個(gè)就是pipenv的強(qiáng)大之處所在,每一次安裝卸載模塊、項(xiàng)目解釋器、源信息等,會(huì)自動(dòng)的動(dòng)態(tài)記錄在這里面,項(xiàng)目如果有這兩個(gè)文件,在命令行中切入到Pipfile.py所在目錄執(zhí)行,比如下圖就要切入src/wibot:(如果你在主目錄的話看不到Pipfile.py,創(chuàng)建出來的環(huán)境里面沒有模塊)
-
情況二:新建項(xiàng)目沒有Pipfile.py等文件,直接install后會(huì)自動(dòng)生成的,只是空的而已,然后你安裝什么模塊時(shí)他會(huì)自動(dòng)更新記錄
pipenv install
即可完成虛擬環(huán)境創(chuàng)建、安裝所有需要的依賴,超強(qiáng)大,賊好用
查看所有安裝模塊
pipenv graph

他會(huì)在C:\Users\13154.virtualenvs(也可以自定義,網(wǎng)上有教程)里面自動(dòng)為項(xiàng)目創(chuàng)建一個(gè)虛擬的包管理文件
其中包含隔離的Python解釋器環(huán)境,并且安裝pip、wheel、setuptools等基本的包

第四步:【下載模塊】
以后就不要再使用pip,忘記他記好了,使用pipenv 來代替pip,命令格式相似
eg:pipenv install pymysql
第五步:【啟動(dòng)項(xiàng)目】
-
方式一:因?yàn)槭褂昧藀ipenv,所以不要再使用pip啟動(dòng),使用它你就找不到pipenv安裝的一系列模塊,我們直接使用pipenv啟動(dòng):
eg: pipenv run python robot_run.py
-
方式二:鼠標(biāo)右鍵啟動(dòng)、頂部綠色小三角啟動(dòng)(pycharm默認(rèn)是使用pip的,不能直接用需要自定義,,設(shè)置好后就可以快捷啟動(dòng)了)

注意事項(xiàng):
1.你使用pipenv安裝的包,pycharm可能識(shí)別不了,就會(huì)飄紅,不影響運(yùn)行
2.settings中的解釋器環(huán)境可以全程使用自己的本地真實(shí)環(huán)境,不用切換到pipenv創(chuàng)建的虛擬環(huán)境,你使用pipenv命令啟動(dòng)就好了

浙公網(wǎng)安備 33010602011771號(hào)