1. 程式人生 > >python專案批量引入需要的類庫

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專案批量引入需要的類庫