套件相依性
當我們開發 python 程式的時候,通常只要求執行順利功能正確就好了。 但當我們透過 pyinstaller 打包的時候,會發現執行檔的 size 比想像大很多,這是因為 套件之間有複雜的相依性,所以打包時所有相依關係的套件都會被引入。
這時我們就可以透過 pipdeptree
來看套件彼此之間的相依性
pipdeptree 介紹
pipdeptree 是一個用於顯示 Python 項目中依賴關係的工具。它能夠幫助你理解你安裝的套件之間的關係、找出潛在的依賴衝突,以及查看每個套件的依賴樹。這對於管理和調試 Python 環境非常有用。
主要功能
- 顯示依賴樹:展示所有已安裝的 Python 套件及其依賴關係,可以清楚地看到每個套件的直接和間接依賴。
- 檢測依賴衝突:報告和檢測依賴衝突,例如不同套件需要不同版本的同一個依賴套件。
- 支持多種輸出格式:可以選擇不同的輸出格式,如文本、JSON 或 YAML,以滿足不同需求。
使用命令以下安裝
1
pip install pipdeptree
馬上來使用看看吧!
使用方式非常簡單,使用下列命令列出所有相依性。
1
pipdeptree
1
pipdeptree --packages matplotlib
也可以指定單個庫並輸出 .json
格式如下
1
pipdeptree --json --packages <package-name> > dependencies.json
但是輸出 json 並不會讓套件相依性好讀,下一篇介紹如何將輸出的 json 直接畫出有向圖