python專案批量引入需要的類庫
轉載請註明出處:python專案批量引入需要的類庫
我們在之前的文章中已經學習過關於python的模組
python模組
有一種應用場景,在複用專案的時候,會出現模組未安裝的情況導致報錯。
那麼python專案的怎麼進行模組的管理呢
一種是原生的requirements.txt檔案管理
一種是使用第三方的類庫模組管理工具,例如poetry。
本篇文章先來了解原生的requirements.txt檔案管理。
簡介
requirements.txt檔案是用於管理python專案需要的類庫包和模組的。
格式如下:
requests==1.2.0 Flask==0.10.1
包含類庫名和版本資訊即可。
已有python專案自動生成requirements.txt檔案
除了手動維護requirements.txt檔案之外,有一些比較好的方法自動生成requirements.txt檔案
方法一:pip freeze
pip freeze > requirements.txt
pip freeze命令輸出的格式和requirements.txt檔案內容格式完全一樣,因此我們可以將pip freeze的內容輸出到檔案requirements.txt中。在其他機器上可以根據匯出的requirements.txt進行包安裝。
注意:pip freeze輸出的是本地環境中所有三方包資訊,但是會比pip list少幾個包,因為pip,wheel,setuptools等包,是自帶的而無法(un)install的,如果要顯示所有包可以加上引數-all,即pip freeze -all
方法二:pipreqs
使用pipreqs生成requirements.txt
首先先安裝pipreqs
pip install pipreqs
使用pipreqs生成requirements.txt
使用方法:pipreqs 加上當前路徑即可或者指定專案路徑。
pipreqs .
pipreqs ./
pipreqs /path/to/project
注意:pipreqs生成指定目錄下的依賴類庫
上面兩個方法的區別?
使用pip freeze儲存的是當前Python環境下所有的類庫,如果你沒有用virtualenv來對Python環境做虛擬化的話,類庫就會很雜很多,在對專案進行遷移的時候我們只需關注專案中使用的類庫,沒有必要匯出所有安裝過的類庫,因此我們一般遷移專案不會使用pipreqs,pip freeze更加適合遷移整個python環境下安裝過的類庫時使用。
不知道virtualenv是什麼或者不會使用它的可以檢視:《構建Python多個虛擬環境來進行不同版本開發之神器-virtualenv》
使用pipreqs它會根據當前目錄下的專案的依賴來匯出三方類庫,因此常用與專案的遷移中。
這就是pip freeze、pipreqs的區別,前者是匯出Python環境下所有安裝的類庫,後者匯出專案中使用的類庫。
遷移python專案後使用requirements.txt檔案引入類庫
如果要安裝requirements.txt中的類庫內容,那麼你可以執行
pip install -r requirements.txt
轉載請註明出處:python專案批量引入需要的類庫