詳解python中requirements.txt的一切
簡(jiǎn)介
Python項(xiàng)目中必須包含一個(gè) requirements.txt 文件,用于記錄所有依賴(lài)包及其精確的版本號(hào)。以便新環(huán)境部署。
主要的寫(xiě)法如下所示
pip freeze > requirements.txt # 生成requirements.txt pip install -r requirements.txt # 從requirements.txt安裝依賴(lài)
支持的寫(xiě)法
-r base.txt # base.txt下面的所有包 pypinyin==0.12.0 # 指定版本(最日常的寫(xiě)法) django-querycount>=0.5.0 # 大于某個(gè)版本 django-debug-toolbar>=1.3.1,<=1.3.3 # 版本范圍 ipython # 默認(rèn)(存在不替換,不存在安裝最新版)
第三方工具生成
pip freeze 會(huì)附帶上一些不需要的包,以及某些包依賴(lài)的包~
pipreqs 自動(dòng)分析項(xiàng)目中引用的包。對(duì)Django項(xiàng)目自動(dòng)構(gòu)建的時(shí)候忽略了Mysql包,版本也很奇怪;而且聯(lián)網(wǎng)搜索的時(shí)候遇到404就報(bào)錯(cuò)跳出了😂
pigar 功能同上,會(huì)顯示包被項(xiàng)目文件引用的地方(搜索下就能解決的問(wèn)題啊= =感覺(jué)是偽需求),404的問(wèn)題也存在
pip-tools 通過(guò)第三方文件生成requirements.txt,講道理為什么不直接寫(xiě)呢,要通過(guò)第三方包來(lái)做一層轉(zhuǎn)換
推薦用法
一般項(xiàng)目會(huì)分為開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境等……依賴(lài)的包會(huì)不同。推薦在文件夾下為每個(gè)環(huán)境建立一個(gè)requirements.txt文件。公有的包存在base.txt供引用
➜ meeting git:(sync) ✗ tree requirements -h requirements ├── [ 286] base.txt ├── [ 80] local.txt └── [ 28] production.txt
由于上面提到的工具并不好用~還是推薦手動(dòng)維護(hù)依賴(lài)列表。畢竟pip安裝后馬上去編輯下依賴(lài)文件也不是什么麻煩事
setup.py 與 requirements.txt 區(qū)別
setup.py 這個(gè)文件是用來(lái)管理模塊的,你可以將你的項(xiàng)目打包為模塊上傳到 pypi 中,也同樣能將項(xiàng)目作為模塊放入python 的系統(tǒng)加載模塊目錄下。
requiremens.txt 這個(gè)文件是列舉你這個(gè)項(xiàng)目引用了哪些非本項(xiàng)目的依賴(lài)的,除此之外,沒(méi)有其他作用。
因此,可以看出這兩個(gè)項(xiàng)目其實(shí)并沒(méi)有沖突關(guān)系,而且有很大共存的必要。
- 假如你的項(xiàng)目需要保存為系統(tǒng)模塊,或者可安裝為系統(tǒng)命令的 setup.py 就必不可少了
- 假如你的項(xiàng)目是可以直接運(yùn)行的,那么 requirements.txt 也是必不可少。
- 如果你兩種功能都需要,那么就兩個(gè)文件都不能少。
有這兩種功能都需要的么?
必須有啊,而且還很多,例如 Flask,他就支持兩種方式:
- 以系統(tǒng)命令的方式啟動(dòng),在 Flask 0.11.1 中新加入了一個(gè) Click 包,他可以讓你 setup 之后以命令的方式運(yùn)行
- 直接運(yùn)行,傳統(tǒng)的 Flask 啟動(dòng)方式一般就是 app.run() 或者 python manage.py runserver
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- python生成requirements.txt的兩種方法
- python?中的requirements.txt?文件的使用詳情
- python導(dǎo)出requirements.txt的幾種方法總結(jié)
- python生成requirements.txt文件的兩種方法
- Python pip通過(guò)requirements.txt 文件安裝依賴(lài)
- Python如何生成requirements.txt
- python項(xiàng)目下生成requirements.txt方法
- Python?requirements.txt的具體使用
- python生成requirements.txt文件的推薦方法
- python項(xiàng)目中requirements.txt的用法實(shí)例教程
- Python requirements.txt使用小結(jié)
相關(guān)文章
使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能
這篇文章主要介紹了使用Django搭建網(wǎng)站實(shí)現(xiàn)商品分頁(yè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
python實(shí)現(xiàn)發(fā)送和獲取手機(jī)短信驗(yàn)證碼
這篇文章主要介紹了python實(shí)現(xiàn)發(fā)送和獲取手機(jī)短信驗(yàn)證碼的相關(guān)資料,講解了python如何解決接口測(cè)試獲取手機(jī)驗(yàn)證碼問(wèn)題,感興趣的小伙伴們可以參考一下2016-01-01
python中pow函數(shù)用法及功能說(shuō)明
在本篇文章里小編給大家整理的是一篇關(guān)于python中pow函數(shù)用法及功能說(shuō)明內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
python 中的divmod數(shù)字處理函數(shù)淺析
這篇文章主要介紹了python divmod數(shù)字處理函數(shù)的相關(guān)資料,感興趣的朋友一起看看吧2017-10-10
Python虛擬環(huán)境創(chuàng)建和使用方法(使用自帶的venv模塊)
這篇文章主要如何在Python中使用虛擬環(huán)境,包括創(chuàng)建、激活、使用、生成requirements.txt文件、卸載包和刪除虛擬環(huán)境,虛擬環(huán)境有助于隔離項(xiàng)目依賴(lài),避免版本沖突,并便于部署,需要的朋友可以參考下2024-12-12
Python OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別功能
這篇文章主要介紹了Python OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別,使用Python 3和OpenCV進(jìn)行攝像頭人臉識(shí)別的基本步驟,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Python中的異常處理相關(guān)語(yǔ)句基礎(chǔ)學(xué)習(xí)筆記
這里我們簡(jiǎn)單整理一下Python中的異常處理相關(guān)語(yǔ)句基礎(chǔ)學(xué)習(xí)筆記,包括try...except與assert等基本語(yǔ)句的用法講解:2016-07-07

