1. 程式人生 > 其它 >檢視python第三方庫的依賴

檢視python第三方庫的依賴

背景

平時開發直接pip install 命令即可安裝所需的python第三方庫,但是部署專案到生產環境時,可能伺服器並不能 訪問外網,pip install沒辦法使用,只能將第三方包打包,離線安裝,這就涉及到要打包的第三方庫及其所依賴的庫.

方法1

pip show 庫名稱

例如檢視celcey庫及其依賴:

pip show celery
Name: celery
Version: 4.4.0
Summary: Distributed Task Queue.
Home-page: http://celeryproject.org
Author: Ask Solem
Author-email: [email protected]
License: BSD
Location: d:\aa\venv\lib\site
-packages Requires: vine, pytz, kombu, billiard Required-by:

可以看到celery庫依賴vine, pytz, kombu, billiard這四個庫,也就是要使用celery必須先安裝這四個庫.但是可能這四個庫也存在依賴庫,所以這種方式並不能全部顯示所有依賴.

方法2

使用pipdeptree

首先安裝pipdeptree庫: pip installpipdeptree

然後使用命令pipdeptree -p 庫名

還以celery為例:

pipdeptree -p celery
Warning!! Cyclic dependencies found:
* Naked => Naked => Naked ------------------------------------------------------------------------ celery==4.4.0 - billiard [required: >=3.6.1,<4.0, installed: 3.6.4.0] - kombu [required: >=4.6.7,<4.7, installed: 4.6.11] - amqp [required: >=2.6.0,<2.7, installed: 2.6.1]
- vine [required: >=1.1.3,<5.0.0a1, installed: 1.3.0] - pytz [required: >dev, installed: 2021.1] - vine [required: ==1.3.0, installed: 1.3.0]

可以看到celery依賴四個庫,其中kombu庫還依賴amqp庫,amqp庫還依賴vine,可以詳細檢視到依賴結構,推薦使用該方式.