背景
平时开发直接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: auvipy@gmail.com 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 install pipdeptree
然后使用命令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,可以详细查看到依赖结构,推荐使用该方式.