使用 requirements.txt 管理 Python 專案套件版本

要執行別人的 Python 專案時一開始最常遇到的問題就是套件版本不相容,無法執行,有些版本要大於多少版,有些版本又要小於多少版,如果這兩個套件要一起用則又只能用多少的版本,非常麻煩。

為了避免這個情況,我們可以利用 requirements.txt 檔案,定義好依賴的版本,這樣其他人要使用專案時只要一行指令就可以安裝好指定版本的全部套件,省去這些麻煩!

依照 requirements.txt 安裝所有套件

    
pip install -r requirements.txt
    

通常使用別的專案還會遇到一大問題就是 Python 版本,可以查看這篇: 使用 pyenv-win 管理 Windows 上面的 Python 版本

requirements.txt 範例

    
mariadb==1.1.10
requests >= 2.31.0, <2.32.0
Django~=3.0.3
    

上面的意思代表:
  • mariadb 強制等於 1.1.10 版本
  • requests 需要大於等於 2.31.0 且小於 2.32.0
  • Django 需要大於等於 3.0.3 且可以是 3.0.x 的版本

自動產生 requirements.txt

產生 requirements.txt ,並列出「所有已安裝」的套件
    
pip freeze > requirements.txt
    



參考資料:
PyCharm - Use requirements.txt

留言