天天看點

Python 項目自動生成 requirements.txt 檔案

  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