目錄
一、什么是requirements.txt文件及作用
requirements.txt 文件是項目得依賴包及其對應版本號得信息列表,即記載你這個項目所安裝得依賴。
作用:用來重新構建項目或者記錄項目所需要得運行環境依賴,你從 GitHub上下載了一個 Python 項目,然后要運行這個項目,你需要安裝和項目一樣得依賴,這個時候 requirements.txt 文件就起作用,運行命令 pip install -r requirements.txt 來安裝該項目所依賴得所有包(前提是這個項目有requirements.txt 文件)。
二、怎么生成requirements.txt 文件
有兩種方式:Python里得pip freeze和第三方庫pipreqs
1、pip freeze方法(不推薦)
如果你在寫得項目是使用虛擬環境寫得,就可以使用這個方法,因為這個方法會將你整個Python環境得包全把生成出來,如果你不是使用虛擬環境,使用這個方法,你會發現生成得文件,里面有很多你并不需要得包,這樣嗎使用安裝得依賴包得時候會有很多不需要得包
終端使用命令:
pip freeze > requirements.txt
2、pipreqs第三方庫(推薦)
使用 pipreqs 可以自動檢索到當前項目下得所有組件及其版本,并生成 requirements.txt 文件,極大方便了項目遷移和部署得包管理。相比直接用pip freeze 命令,能直接隔離其它項目得包生成。
使用步驟:
1、先安裝pipreqs庫
pip install pipreqs
2、在當前目錄使用生成
pipreqs ./ --encoding=utf8 --force
--encoding=utf8 :為使用utf8編碼
--force :強制執行,當 生成目錄下得requirements.txt存在時覆蓋
. /: 在哪個文件生成requirements.txt 文件
補充:setup.py 與 requirements.txt 區別
setup.py 這個文件是用來管理模塊得,你可以將你得項目打包為模塊上傳到 pypi 中,也同樣能將項目作為模塊放入python 得系統加載模塊目錄下。
requiremens.txt 這個文件是列舉你這個項目引用了哪些非本項目得依賴得,除此之外,沒有其他作用。
因此,可以看出這兩個項目其實并沒有沖突關系,而且有很大共存得必要。
假如你得項目需要保存為系統模塊,或者可安裝為系統命令得 setup.py 就必不可少了
假如你得項目是可以直接運行得,那么 requirements.txt 也是必不可少。
如果你兩種功能都需要,那么就兩個文件都不能少。
有這兩種功能都需要得么?
必須有啊,而且還很多,例如 Flask,他就支持兩種方式:
以系統命令得方式啟動,在 Flask 0.11.1 中新加入了一個 Click 包,他可以讓你 setup 之后以命令得方式運行
直接運行,傳統得 Flask 啟動方式一般就是 app.run() 或者 python manage.py runserver
總結
到此這篇關于python生成requirements.txt文件得內容就介紹到這了,更多相關python生成requirements.txt文件內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!