檢視python第三方庫的依賴
阿新 • • 發佈:2021-07-26
背景
平時開發直接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,可以詳細檢視到依賴結構,推薦使用該方式.