requirements.txt你真的清楚嗎
很多Python開源項目在環(huán)境搭建教程中都會提供requirements.txt,所以有必要搞清楚這到底有什么作用以及一些細節(jié)須知,花幾分鐘一起看看吧

1)如何安裝requirements.txt中的所有內容
requirements.txt中包含項目所需依賴的所有庫,如:
要一鍵安裝txt中所指定的3個庫,我們可以運行以下命令:
pip install -r requirements.txt
這將自動安裝?requirements.txt?中指定的每行庫及相應版本
2)如何生成requirements.txt
假設現(xiàn)在其他人需要運行自己的代碼,那么需要確保兩者運行環(huán)境一致,首先在項目Python環(huán)境的終端中運行如下命令
pip freeze
該命令將在終端中打印出每個安裝的每個第三方庫以及相應版本,如
是不是感覺這就是requirements.txt文件中的內容
現(xiàn)在希望將這些內容寫入文本文件中,但又不想手動復制粘貼它,可以使用以下命令將其寫入
pip freeze > requirements.txt
該語句的作用是將pip freeze輸出的所有內容寫入名為requirements.txt的文本文件中
這樣,requirements.txt文件制作完畢,接下來是一些須知
3)最好使用虛擬環(huán)境創(chuàng)建requirements.txt
當我們使用pip freeze時,每個安裝的庫都會出現(xiàn)在你的requirements.txt中
這可能會很輸出肥腸多的內容,如果項目只需要幾個主要庫,但requirements.txt會安裝另外100個不必要的庫,該怎么辦?
使用 Python 虛擬環(huán)境!
python -m venv env ? ?# create a virtual environment called 'env'
創(chuàng)建新的虛擬環(huán)境后,干凈又衛(wèi)生,沒有安裝任何內容。因此,安裝項目所需的主要庫后使用pip freeze,最終出現(xiàn)在requirements.txt中的內容將僅包含這些主要內容
4)省略requirements.txt中的版本會如何
這是一個規(guī)范的?requirements.txt
將安裝具有特定版本的numpy與pandas
如下是一個沒有版本的requirements.txt
將安裝最新版本的numpy與pandas,如果項目中的某些庫是沒有版本依賴的可以這樣做
5)不一定要命名為requirements.txt
pip install -r requirements.txt
-r表示read
requirements.txt只是一個不符合慣例命名的任意文本文件
實際上,可以將其命名為任何名稱,只要它是有效的文本文件名即可,如
pip install -r a.txt
但不建議這樣做
6)requirements.txt可以包含其他requirements.txt文件
假設我們有2個requirements.txt文件
requirements.txt包含主要內容
requirements_windows.txt包含專門的Windows庫
我們希望requirements_windows.txt也包含requirements.txt內的內容,可以在requirements_windows.txt中這樣寫
首先library-one和library-two將被安裝
最后requirements.txt中的所有內容也將被安裝
以上就是本期的全部內容,希望對你有幫助,我是啥都生,下次再見