使用pipenv管理python虛擬環(huán)境的全過程
pipenv 是Kenneth Reitz大神的作品,能夠有效管理Python多個環(huán)境,各種包。過去我們一般用virtualenv搭建虛擬環(huán)境,管理python版本,但是跨平臺的使用不太一致,且有時候處理包之間的依賴總存在問題;過去也常常用 pip進(jìn)行包的管理,pip已經(jīng)足夠好,但是仍然推薦pipenv,相當(dāng)于virtualenv和pip的合體,且更加強(qiáng)大。pipenv開源之后,在GitHub上有很高人氣(截止于現(xiàn)在有9600多星)。
pipenv主要有以下特性:
?。?)pipenv集成了pip,virtualenv兩者的功能,且完善了兩者的一些缺陷。
?。?)過去用virtualenv管理requirements.txt文件可能會有問題,Pipenv使用Pipfile和Pipfile.lock,后者存放將包的依賴關(guān)系,查看依賴關(guān)系是十分方便。
(3)各個地方使用了哈希校驗,無論安裝還是卸載包都十分安全,且會自動公開安全漏洞。。
?。?)通過加載.env文件簡化開發(fā)工作流程。
?。?)支持Python2 和 Python3,在各個平臺的命令都是一樣的。
下面介紹下使用pipenv管理python虛擬環(huán)境的全過程,一起看看吧!
python的虛擬環(huán)境可以為項目創(chuàng)建一個獨(dú)立的環(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.激活/進(jìn)入pipenv shell
$ pipenv shell
$ python --version//根據(jù)Pipfile進(jìn)行依賴安裝,忽略Pipfile.lock
$ pipenv install --skip-lock//安裝指定版本模塊
$ pip install pymongo==xxx
根據(jù)Pipfile進(jìn)行依賴包安裝。
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
擴(kuò)展閱讀: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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用AJAX和Django獲取數(shù)據(jù)的方法實例
這篇文章主要給大家介紹了關(guān)于使用AJAX和Django獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
淺談python 線程池threadpool之實現(xiàn)
這篇文章主要介紹了淺談python 線程池threadpool之實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11

