python生成requirements.txt文件的推薦方法
一、什么是requirements.txt文件及作用
requirements.txt 文件是項(xiàng)目的依賴包及其對(duì)應(yīng)版本號(hào)的信息列表,即記載你這個(gè)項(xiàng)目所安裝的依賴。
作用:用來(lái)重新構(gòu)建項(xiàng)目或者記錄項(xiàng)目所需要的運(yùn)行環(huán)境依賴,你從 GitHub上下載了一個(gè) Python 項(xiàng)目,然后要運(yùn)行這個(gè)項(xiàng)目,你需要安裝和項(xiàng)目一樣的依賴,這個(gè)時(shí)候 requirements.txt 文件就起作用,運(yùn)行命令 pip install -r requirements.txt 來(lái)安裝該項(xiàng)目所依賴的所有包(前提是這個(gè)項(xiàng)目有requirements.txt 文件)。
二、怎么生成requirements.txt 文件
有兩種方式:Python里的pip freeze和第三方庫(kù)pipreqs
1、pip freeze方法(不推薦)
如果你在寫(xiě)的項(xiàng)目是使用虛擬環(huán)境寫(xiě)的,就可以使用這個(gè)方法,因?yàn)檫@個(gè)方法會(huì)將你整個(gè)Python環(huán)境的包全把生成出來(lái),如果你不是使用虛擬環(huán)境,使用這個(gè)方法,你會(huì)發(fā)現(xiàn)生成的文件,里面有很多你并不需要的包,這樣嗎使用安裝的依賴包的時(shí)候會(huì)有很多不需要的包
終端使用命令:
pip freeze > requirements.txt
2、pipreqs第三方庫(kù)(推薦)
使用 pipreqs 可以自動(dòng)檢索到當(dāng)前項(xiàng)目下的所有組件及其版本,并生成 requirements.txt 文件,極大方便了項(xiàng)目遷移和部署的包管理。相比直接用pip freeze 命令,能直接隔離其它項(xiàng)目的包生成。
使用步驟:
1、先安裝pipreqs庫(kù)
pip install pipreqs
2、在當(dāng)前目錄使用生成
pipreqs ./ --encoding=utf8 --force
--encoding=utf8 :為使用utf8編碼
--force :強(qiáng)制執(zhí)行,當(dāng) 生成目錄下的requirements.txt存在時(shí)覆蓋
. /: 在哪個(gè)文件生成requirements.txt 文件
補(bǔ)充: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)目的依賴的,除此之外,沒(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é)
到此這篇關(guān)于python生成requirements.txt文件的文章就介紹到這了,更多相關(guān)python生成requirements.txt文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python基礎(chǔ)教程之淺拷貝和深拷貝實(shí)例詳解
這篇文章主要介紹了Python基礎(chǔ)教程之淺拷貝和深拷貝實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07詳解python百行有效代碼實(shí)現(xiàn)漢諾塔小游戲(簡(jiǎn)約版)
這篇文章主要介紹了詳解python百行有效代碼實(shí)現(xiàn)漢諾塔小游戲(簡(jiǎn)約版),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python 類,property屬性(簡(jiǎn)化屬性的操作),@property,property()用法示例
這篇文章主要介紹了Python 類,property屬性(簡(jiǎn)化屬性的操作),@property,property()用法,結(jié)合實(shí)例形式分析了Python類的定義、屬性、方法及相關(guān)使用技巧,需要的朋友可以參考下2019-10-10Python自動(dòng)化辦公之群發(fā)郵件案例詳解
我們?cè)谵k公時(shí)常常會(huì)遇到需要將郵件群發(fā)給很多客戶,這個(gè)時(shí)候如何快速完成這一任務(wù)呢?不要慌,本文將為大家提供用Python代碼解決這一問(wèn)題的方法,需要的可以參考一下2022-02-02PyTorch使用GPU訓(xùn)練的兩種方法實(shí)例
pytorch是一個(gè)非常優(yōu)秀的深度學(xué)習(xí)的框架,具有速度快,代碼簡(jiǎn)潔,可讀性強(qiáng)的優(yōu)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于PyTorch使用GPU訓(xùn)練的兩種方法,需要的朋友可以參考下2022-05-05Python+pandas編寫(xiě)命令行腳本操作excel的tips詳情
這篇文章主要介紹了Python+pandas編寫(xiě)命令行腳本操作excel的tips詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07Python 3 使用Pillow生成漂亮的分形樹(shù)圖片
這篇文章主要介紹了Python 3 使用Pillow生成漂亮的分形樹(shù)圖片,本文通過(guò)實(shí)例代碼介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12一文詳解Python中多進(jìn)程和進(jìn)程池的使用方法
這篇文章將介紹Python中多進(jìn)程和進(jìn)程池的使用方法,并提供一些實(shí)用的案例供大家參考,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法
這篇文章主要介紹了解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法 ,需要的朋友可以參考下2018-08-08