【Python】requirements.txt 寫法


在 Python Package中,通常會加入一個名為 requirements.txt 的檔案,

裡面放的是執行這包 Package 所需要用到的library套件。

(在Github隨便找幾篇別人寫的程式來當範例:




可以看到在 requirements.txt 裡,
# 是註解
剩下的資訊就只有 套件名稱、以及套件版本
說穿了 requirements.txt 就是一串文字、字串,來讓 pip 這項工具安裝。




最簡單生成 requirements.txt 的寫法

在CMD裡輸入
> pip3 freeze

顯示的就是當前這台電腦所安裝的所有套件
換言之只要安裝這些套件,自己所寫的 Package 就能執行。



可以複製下來另外存成 requirements.txt 檔案,
也可以直接把輸出傾倒成一個檔案。

> pip3 install > requirements.txt 
當然,挑選 Package 所用到的依賴就可以了。


別人要使用時

pip3 install -r requirements.txt 
(-r: --requirement)








當沒有指定版本時,會自動載最新版本。

除了可以透過 == 指定版本之外
> 大於某版本
< 小於某版本
<, > 可指定區間來指定版本 beautifulsoup4<=4.9.0, >4.8.0
~= 僅升小版號(尾數版號若有最新則升到最新版) 






以下舉例:


uiri/toml 有以下這些版本:

0.10.2
0.10.1
0.10.0
...
0.9.1
0.9.0


pip3 install toml==0.9.3    安裝指定的 0.9.3 版
pip3 install toml~=0.9.0    有比 0.9.0 還新的尾數版本,於是安裝最新的 0.9.6 版本
pip3 install toml~=0.9       有比 0.9 還新的尾數版本,於是安裝最新的 0.10.2 版本
pip3 install 'toml>=0.10.0,<0.10.1' 符合條件的只有 0.10.0 版

可以透過 pip install 、 pip uninstall 來試試、玩玩看