• 查看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库,可以详细查看到依赖结构,推荐使用该方式。

  • 相关阅读:
    css实现单独一区域滚动,不影响整体滚动,两种方法
    【Python】【Fintech】用Python和蒙特卡洛法预测投资组合未来收益
    4.vue知识点vuex
    2021年全球最具吸引力的雇主:谷歌、微软、苹果占据前三名
    第三章 内存管理 四、连续分配管理方式
    冷门黑科技软件推荐
    【高并发】深度解析线程池中那些重要的顶层接口和抽象类
    【Spring】Day19
    【HDLBits 刷题 6】Circuits(2)Sequential Logic---Latches and Filp Flops
    分布式文件存储系统FastDFS[2]-上传和下载文件工具类
  • 原文地址:https://blog.csdn.net/qq_38316655/article/details/127943606