使用pipenv管理python虛擬環(huán)境的全過程
pipenv 是Kenneth Reitz大神的作品,能夠有效管理Python多個環(huán)境,各種包。過去我們一般用virtualenv搭建虛擬環(huán)境,管理python版本,但是跨平臺的使用不太一致,且有時候處理包之間的依賴總存在問題;過去也常常用 pip進行包的管理,pip已經(jīng)足夠好,但是仍然推薦pipenv,相當于virtualenv和pip的合體,且更加強大。pipenv開源之后,在GitHub上有很高人氣(截止于現(xiàn)在有9600多星)。
pipenv主要有以下特性:
?。?)pipenv集成了pip,virtualenv兩者的功能,且完善了兩者的一些缺陷。
?。?)過去用virtualenv管理requirements.txt文件可能會有問題,Pipenv使用Pipfile和Pipfile.lock,后者存放將包的依賴關(guān)系,查看依賴關(guān)系是十分方便。
?。?)各個地方使用了哈希校驗,無論安裝還是卸載包都十分安全,且會自動公開安全漏洞。。
?。?)通過加載.env文件簡化開發(fā)工作流程。
?。?)支持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)境會默認查找當前目錄有沒有.venv
目錄,如果沒有會默認在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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Flask框架的學(xué)習(xí)指南之開發(fā)環(huán)境搭建
本文是Flask框架的學(xué)習(xí)指南系列文章的第一篇,主要給大家講述的是開發(fā)環(huán)境的搭建工作,有需要的小伙伴可以參考下2016-11-11Python使用Redis實現(xiàn)作業(yè)調(diào)度系統(tǒng)(超簡單)
Redis作為內(nèi)存數(shù)據(jù)庫的一個典型代表,已經(jīng)在很多應(yīng)用場景中被使用,這里僅就Redis的pub/sub功能來說說怎樣通過此功能來實現(xiàn)一個簡單的作業(yè)調(diào)度系統(tǒng)。這里只是想展現(xiàn)一個簡單的想法,所以還是有很多需要考慮的東西沒有包括在這個例子中,比如錯誤處理,持久化等2016-03-03使用keras根據(jù)層名稱來初始化網(wǎng)絡(luò)
這篇文章主要介紹了使用keras根據(jù)層名稱來初始化網(wǎng)絡(luò),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05