使用pipenv管理python虛擬環(huán)境的全過程
pipenv 是Kenneth Reitz大神的作品,能夠有效管理Python多個環(huán)境,各種包。過去我們一般用virtualenv搭建虛擬環(huán)境,管理python版本,但是跨平臺的使用不太一致,且有時候處理包之間的依賴總存在問題;過去也常常用 pip進行包的管理,pip已經(jīng)足夠好,但是仍然推薦pipenv,相當(dāng)于virtualenv和pip的合體,且更加強大。pipenv開源之后,在GitHub上有很高人氣(截止于現(xiàn)在有9600多星)。
pipenv主要有以下特性:
(1)pipenv集成了pip,virtualenv兩者的功能,且完善了兩者的一些缺陷。
(2)過去用virtualenv管理requirements.txt文件可能會有問題,Pipenv使用Pipfile和Pipfile.lock,后者存放將包的依賴關(guān)系,查看依賴關(guān)系是十分方便。
(3)各個地方使用了哈希校驗,無論安裝還是卸載包都十分安全,且會自動公開安全漏洞。。
(4)通過加載.env文件簡化開發(fā)工作流程。
(5)支持Python2 和 Python3,在各個平臺的命令都是一樣的。
下面介紹下使用pipenv管理python虛擬環(huán)境的全過程,一起看看吧!
python的虛擬環(huán)境可以為項目創(chuàng)建一個獨立的環(huán)境,能夠解決使用不同版本依賴給項目帶來沖突的麻煩。創(chuàng)建虛擬環(huán)境的方式有很多種,pipenv會自動幫你管理虛擬環(huán)境和依賴文件,并且提供了一系列命令和選項來幫忙你實現(xiàn)各種依賴和環(huán)境管理相關(guān)的操作。
1.安裝pipenv
pip install pipenv
2.Pipfile文件和Pipfile.lock文件
Pipfile文件和Pipfile.lock是在創(chuàng)建虛擬環(huán)境時生成的,用來記錄安裝依賴的信息,Pipfile時用來替代pip的requirements.txt的。
Pipfile.lock包含你的系統(tǒng)信息,所有已安裝包的依賴包及其版本信息,以及所有安裝包及其依賴包的hash校驗信息。
3.創(chuàng)建虛擬環(huán)境
$ cd myproject
//創(chuàng)建python3.7的虛擬環(huán)境
$ pipenv --python 3.7
創(chuàng)建虛擬環(huán)境會默認(rèn)查找當(dāng)前目錄有沒有.venv目錄,如果沒有會默認(rèn)在home目錄用戶下的/Users/xxxx/.local/share/virtualenvs創(chuàng)建虛擬環(huán)境目錄。推薦先在項目下創(chuàng)建一個.venv文件夾,然后再創(chuàng)建虛擬環(huán)境。
如果不存在pipfile,會生成一個piffle,并且如果有的庫添加會自動編輯這個文件。
4.激活/進入pipenv shell
$ pipenv shell
$ python --version//根據(jù)Pipfile進行依賴安裝,忽略Pipfile.lock
$ pipenv install --skip-lock//安裝指定版本模塊
$ pip install pymongo==xxx
根據(jù)Pipfile進行依賴包安裝。
5.退出虛擬環(huán)境
$ exit 或者 ctrl+d
6.查看已經(jīng)安裝的依賴
$ pipenv graph
7.更新升級包
$ pipenv update requests
8.通過requirements.txt安裝虛擬環(huán)境
pipenv install -r requirements.txt
9.生成requirements.txt文件
pipenv lock -r [--dev] > requirements.txt
10.刪除虛擬環(huán)境
pipevn --rm
擴展閱讀:https://rgb-24bit.github.io/blog/2018/pipenv.html
到此這篇關(guān)于使用pipenv管理python虛擬環(huán)境的全過程的文章就介紹到這了,更多相關(guān)pipenv python虛擬環(huán)境內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信