Python項目中通常都會包含一個requirements.txt檔案,一般存放在工程根目錄下。該檔案記錄了項目中使用的第三方依賴包及其版本号資訊,主要用于新環境中的項目部署。它通常長這樣:
# requirements.txt
cx-Oracle == 7.0.0
paramiko == 2.4.2
Pypubsub == 4.0.0
requests == 2.18.4
SQLAlchemy == 1.2.12
wxPython == 4.0.3
把項目部署到新環境後,在檔案目錄下執行指令
pip install -r requirements.txt
,pip就會自動下載下傳、安裝檔案中所有的依賴包了,使用起來十分友善。那麼,我們自己的python項目該如何生成requirements.txt檔案呢?
1. 小型項目建議手動生成
一般的小項目可能隻會用到5、6個第三方的依賴包,完全可以自己手動填寫,費不了多少事情。
2. 利用virtualenv與pip freeze指令自動生成
使用virtualenv在獨立環境下開發的python項目,可以通過執行如下指令自動生成requirements.txt檔案:
pip freeze > requirements.txt
pip freeze
指令會列出目前環境中安裝的所有第三方依賴包及其版本号資訊,是以僅當項目在獨立的虛拟環境中時該方法才比較實用。非虛拟環境會列出本地安裝的所有依賴包。另外第三方包所依賴的包也會被列出。
3. 利用第三方包pipreqs或者pigar自動生成
pipreqs與pigar均可直接通過
pip install
指令直接安裝使用。
-
pipreqs,能夠自動分析項目中引用的包,并生成requirements.txt檔案。實際使用時發現存在偏差,還需要人工檢查修改。。。
使用方法:在項目根目錄下執行指令:
pipreqs ./
pipreqs ./ --encoding=utf-8 # windows環境下需要指定編碼,不然會報編碼錯誤
-
pigar,功能同pipreqs,但更強一些,生成的requirements.txt檔案中會顯示包在項目中被引用的位置。使用時依然會存在些許偏差,但比pipreqs好用不少,推薦使用。
使用方法:在項目根目錄下執行指令:
pigar -p requirements.txt -P ./ # -p 指定requirements.txt檔案儲存路徑,-P 指定查找的工程路徑
轉載于:https://my.oschina.net/u/3205248/blog/2221948