某个轮(.whl)包的依赖性是什么?

时间:2015-11-06 13:01:10

标签: python

我想安装pylab而我没有直接访问pip(代理限制)。我不能通过cntlm或其他代理隧道解决方案来实现。

所以我有两个解决方案:

  1. 手动安装每个软件包,运行它,安装缺少的依赖项并返回(1)

  2. 下载方向盘并获取依赖项列表。

  3. 我不知道怎么办(2)。

    有没有简单的方法列出所需的车轮文件来安装另一个车轮文件?

    关于“如何离线使用pip”有很多相关问题,但我仍然没有在那里找到快乐。

    $ pip install pylab-0.1.3-py2.py3-none-any.whl
    Processing ./pylab-0.1.3-py2.py3-none-any.whl
    Collecting networkx (from pylab==0.1.3)
      Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(2, 'Temporary failure in name resolution'))': /simple/networkx/
      Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(2, 'Temporary failure in name resolution'))': /simple/networkx/
    

1 个答案:

答案 0 :(得分:1)

(简短的不完整描述)

要查找whl的依赖项:

  • 将文件扩展名从whl更改为zip
  • 解压
  • 打开以.dist-info
  • 结尾的文件夹中的元数据或metadata.json文件
  • 如果它是普通的文本文件 - 查找以Requires-Dist:开头的行 - 如果它是一个json文件,则查找requires数组 - 并解析这些内容。