平常在GitHub中使用python的project中常會看到requirements.txt,這就是紀錄你這個project使用了那些package,這樣才能夠快速安裝會使用到的library以便使用和部署。
使用方法:
開啟CLI,並輸入pip freeze。
pip freeze > requirements.txt
它便會在當前資料夾創建一個requirements.txt,並將如下資訊儲存到requirements.txt中。下面就是我這台電腦安裝的所有package和版本。
C:\Users>pip freeze
async-generator==1.10
attrs==23.1.0
certifi==2023.5.7
cffi==1.15.1
charset-normalizer==3.1.0
colorama==0.4.6
exceptiongroup==1.1.1
h11==0.14.0
idna==3.4
outcome==1.2.0
packaging==23.1
pycparser==2.21
PySocks==1.7.1
python-dotenv==1.0.0
requests==2.30.0
selenium==4.9.1
sniffio==1.3.0
sortedcontainers==2.4.0
tqdm==4.65.0
trio==0.22.0
trio-websocket==0.10.2
urllib3==2.0.2
webdriver-manager==3.8.6
wsproto==1.2.0
當然我這台安裝的所有package並不代表我這一個project就會用到上述所有的package,但是我通常都不會去測試,畢竟一個package也沒多大,也才幾MB而已,多裝幾個也沒關係。
關於如何優化,我之後有空會再寫一篇。
現在project有requirements.txt了,那要如何使用呢?
只要從cmd,cd進入該資料夾並輸入
pip install -r requirements.txt
pip就會自動安裝上述的package了,至於版本號想要更改的話,只要更改==就可以了,請參考下表。
Requirement | Description |
---|---|
foo | any version of foo |
foo>=5 | any version of foo, above or equal to 5 |
foo>=5.6 | any version of foo, above or equal to 5.6 |
foo==5.6.1 | exact match |
foo>5 | foo-5 or greater, including minor and patch |
foo>5, <5.7 | foo-5 or greater, but less than foo-5.7 |
foo>0, <5.7 | any foo version less than foo-5.7 |
參考資料:
https://iscompatible.readthedocs.io/en/latest/
https://tech.gjlmotea.com/2020/04/pythonrequirementstxt.html