• 查看python第三方库的依赖


    背景

    平时开发直接pip install 命令即可安装所需的python第三方库,但是部署项目到生产环境时,可能服务器并不能 访问外网,pip install没办法使用,只能将第三方包打包,离线安装,这就涉及到要打包的第三方库及其所依赖的库.

    方法1

    pip show 库名称

    例如查看pandas库及其依赖:

    D:\Program\Project\streamlit>pip show pandas
    Name: pandas
    Version: 1.2.4
    Summary: Powerful data structures for data analysis, time series, and statistics
    Home-page: https://pandas.pydata.org
    Author: None
    Author-email: None
    License: BSD
    Location: d:\program\anaconda3\lib\site-packages
    Requires: python-dateutil, numpy, pytz
    Required-by: tabula-py, streamlit, statsmodels, seaborn, altair

    可以看到pandas库依赖python-dateutil、numpy、pytz这三个库,也就是要使用pandas必须先安装这三个库.但是可能这三个库也存在依赖库,所以这种方式并不能全部显示所有依赖。

    方法2

    使用pipdeptree

    首先安装pipdeptree库:

    pip install pipdeptree

    然后使用命令:pipdeptree -p 库名

    还以pandas为例:

    D:\Program\Project\streamlit>pipdeptree -p pandas
    Warning!!! Possibly conflicting dependencies found:
    * -yspark==3.2.0
     - py4j [required: ==0.10.9.2, installed: 0.10.9]
    * anaconda-project==0.9.1
     - ruamel-yaml [required: Any, installed: ?]
    * autopep8==1.5.6
     - pycodestyle [required: >=2.7.0, installed: 2.6.0]
    * conda-repo-cli==1.0.4
     - pathlib [required: Any, installed: ?]
    * flake8==3.9.0
     - pycodestyle [required: >=2.7.0,<2.8.0, installed: 2.6.0]
     - pyflakes [required: >=2.3.0,<2.4.0, installed: 2.2.0]
    * pylint==2.7.4
     - astroid [required: >=2.5.2,<2.7, installed: 2.5]
    * QDarkStyle==2.8.1
     - helpdev [required: >=0.6.10, installed: ?]
    * spyder==4.2.5
     - pyqtwebengine [required: <5.13, installed: ?]
     - pyqt5 [required: <5.13, installed: ?]
    ------------------------------------------------------------------------
    pandas==1.2.4
      - numpy [required: >=1.16.5, installed: 1.20.1]
      - python-dateutil [required: >=2.7.3, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.15.0]
      - pytz [required: >=2017.3, installed: 2021.1]

    可以看到pandas依赖三个库,其中ython-dateutil库还依赖six库,可以详细查看到依赖结构,推荐使用该方式。

  • 相关阅读:
    Linux Top 详细介绍,包含task排序
    文本摘要实战:基于seq2seq+attention实现文本摘要
    干货!分享解决python脚本中涉及账号密码泄露的方案(pyarmor)
    Latex+论文+工具+邮箱客户端不能登录
    一段木棍剪成三段,能够组成三角形的概率是多少
    数据结构之数组练习
    音视频总结
    解决终端自暂停的问题 关闭快速编辑模式 python代码暂停
    Typora:Typora快捷键
    枚举与#define 宏的区别
  • 原文地址:https://blog.csdn.net/qq_38316655/article/details/127943606