Python中列已安裝包和requirements.txt檔案

banq發表於2024-05-10

處理 Python 專案也可能需要列出已安裝的 Python 包,以便管理依賴項、檢查更新或與其他人共享專案需求。

建立和維護requirements.txt 檔案是Python 開發的基本最佳實踐。它確保您的專案的依賴項有完整的文件記錄並且易於重現,從而使其他人更容易處理您的程式碼並減少出現相容性問題的可能性。


列出已安裝的 Python 包
下面是一些我們可以列出已安裝的Python包的方法:

  • 使用 pip list
  • 使用pip freeze
  • 使用Python的pkg_resources
  • 使用 pipdeptree
  • 使用 Pipenv
  • 使用 JupyterNotebook

使用 pip list 列出已安裝的 Python 包
列出已安裝的 Python 包的最常見方法是使用 pip 命令列工具。 pip 是 Python 的標準包管理器,它預裝在 Python 3.4 及更高版本中。

我們可以使用 list 命令列出使用 pip 已安裝的軟體包。只需開啟終端或命令提示符並執行以下命令,您將看到所有已安裝軟體包的列表。

pip list

此命令將顯示 Python 環境中安裝的所有 Python 包及其版本的列表。您還可以將輸出重定向到文字檔案(可選)如果要將已安裝軟體包的列表儲存到文字檔案,可以使用以下命令:

pip list > installed_packages.txt

此命令將建立一個名為installed_pa​​ckages.txt 的檔案並在其中儲存包列表。

使用 pip freeze 列出 Python 包
另一個常用的列出已安裝軟體包的命令是 pip freeze,尤其是在 Python 專案管理上下文中。此命令生成已安裝的軟體包及其版本的列表,其格式通常用於在requirements.txt 檔案中指定專案依賴項。

我們可以使用pip freeze列出已安裝的 Python 包。只需開啟終端或命令提示符並執行以下命令。

pip freeze
此命令將顯示已安裝的軟體包及其版本的列表,類似於您在requirements.txt 檔案中可能找到的內容。

使用 Python 的 pkg_resources 模組列出 Python 包
如果您更喜歡透過程式設計方式從 Python 指令碼中列出已安裝的軟體包,則可以使用 setuptools 軟體包中的 pkg_resources 模組。以下是如何使用它的示例:


import pkg_resources
 
installed_packages = pkg_resources.working_set
for package in installed_packages:
    print(f<font>"{package.key}=={package.version}")

該指令碼將列印 Python 環境中所有已安裝軟體包的名稱和版本。

使用 pipdeptree 列出 Python 包
pipdeptree是一個 Python 包,可幫助您以樹狀結構視覺化並列出已安裝包的依賴關係。要使用它,您需要先安裝它:

pip install pipdeptree
安裝 pipdeptree 後,您可以列出已安裝的軟體包及其依賴項,如下所示:

pipdeptree
此命令將顯示已安裝軟體包及其依賴項的樹狀結構。

使用 pipelinev 列出已安裝的軟體包
Pipenv是用於管理 Python 專案環境和依賴項的流行工具。它結合了 pip 和 virtualenv 來為您的專案建立隔離的 Python 環境。要列出 Pipenv 環境中已安裝的軟體包,請執行以下步驟:

  • 開啟終端或命令提示符並導航到 Pipfile 所在的目錄。
  • 啟用虛擬環境:

pipenv shell

列出已安裝的軟體包:

pipenv lock --requirements
此命令將顯示已安裝的軟體包及其版本的列表。

使用 Jupyter 筆記本
如果我們使用 Jupyter Notebook 進行 Python 開發並希望列出筆記本中已安裝的軟體包,我們可以使用 ! (shell 命令)字首。就是這樣:

  • 開啟 Jupyter Notebook:透過在終端中執行 jupyter Notebook 來啟動 Jupyter Notebook。
  • 建立新筆記本或開啟現有筆記本:您可以建立新筆記本或開啟現有筆記本,以在其中列出已安裝的軟體包。
  • 列出筆記本單元中已安裝的軟體包:

!pip list

在筆記本單元中執行此命令將在筆記本輸出中顯示已安裝軟體包及其版本的列表。


在Python中建立Requirements.txt檔案
在處理 Python 專案時,管理依賴關係是開發過程的關鍵部分。依賴項是 Python 程式碼正常執行所依賴的外部庫或包。為了確保您的專案易於重現和維護,最好建立一個requirements.txt 檔案。該檔案列出了您的專案所需的所有依賴項,使其他人可以更輕鬆地安裝和執行您的程式碼。

為什麼使用requirements.txt 檔案?
requirements.txt 檔案有幾個重要的用途:

  • 可重現性:透過指定專案所依賴的包和庫的確切版本,您可以確保處理您的專案的其他任何人都可以建立相同的環境並重現相同的結果。
  • 依賴關係管理:管理依賴關係變得更加易於管理。您可以根據需要輕鬆新增、更新或刪除包,而無需手動跟蹤它們。
  • 相容性:它有助於避免包之間的版本衝突,確保所有依賴項和諧地協同工作。
  • 部署:在部署應用程式或與其他人共享應用程式時,您可以向他們提供requirements.txt 檔案以輕鬆安裝必要的依賴項。

建立需求.txt 檔案
第 1 步:啟用您的虛擬環境

要建立並啟用虛擬環境,請開啟終端並執行以下命令:

# 建立虛擬環境
python -m venv myenv 

# 啟用虛擬環境

# Windows 
myenv\Scripts\activate 
# macOS 和 Linux
source myenv/bin/activate

第2步:安裝依賴項
您需要先將專案的依賴項安裝到虛擬環境中,然後才能在requirements.txt 檔案中列出專案的依賴項。為此,您可以使用 Python 的包管理器 pip。在這裡,將 package-name 替換為您要安裝的包的實際名稱。

pip install package-name
pip install pandas


步驟3:生成requirements.txt檔案

現在,您可以透過執行以下命令生成requirements.txt檔案:

pip freeze > requirements.txt


 

相關文章