【问题标题】:Listing the dependencies of a package using pip [duplicate]使用 pip 列出包的依赖项 [重复]
【发布时间】:2012-07-12 17:24:41
【问题描述】:

如何使用 pip 列出包的依赖项?

【问题讨论】:

    标签: python pip


    【解决方案1】:

    请注意,这个 2012 年的答案已过时。首先,解决方法,答案已经说过你在 2012 年可能不应该这样做,现在你不能这样做。如果您想要类似的解决方法,您可以使用pip download,但它更不可能是您想要的。特别是自从pip show 得到了改进。幸运的是,该问题已被标记为后续问题的副本,因此除了历史目的外,没有理由阅读此答案。


    你不能,至少不能直接。

    您可以在自己的代码中导入 pip 模块并下载需求文件,然后对其进行迭代。或者,从命令行,您可以pip install --no-install --verbose

    但实际上,除非这是您需要自动化的东西,否则只需转到 http://pypi.python.org/ 并在那里搜索包而不是使用 pip 可能更容易。

    【讨论】:

    • 在我的 pip 版本 (1.5.4) 上,--no-install 标志已弃用。
    • 在我的 pip 版本 (10.0.0) 上没有像 --no-install 这样的选项。
    • @avalanchy 为什么你要尝试做一个 6 岁的答案告诉你你可能不应该做的事情,当问题被标记为一个更新的答案的副本时你是对的吗?
    • @abarnert 我愚蠢的大脑不知何故认为 OP 指的是另一个屏幕外答案已过时(而不是这个),我最终也尝试了这个。 掌心
    【解决方案2】:

    在当前 pip(版本 1.3.1)中,您可以使用以下命令查看已安装包的依赖项:

    pip show <package>
    

    【讨论】:

    • 请注意,这只适用于已安装的软件包。
    • cd 环境; bin/python -c '导入点子; D = { d.key: d for d in pip.get_installed_distributions() } ; F = lambda xs: sum([ F(x) if isinstance(x, list) else [x] for x in xs ], []) ; R = lambda k: [k] + F([ R(r.key) for r in D[k].requires() ]) ; print " ".join(R("mypkg") if "mypkg" in D else [])'
    • 安装前如何查找包?
    猜你喜欢
    • 2023-04-03
    • 2016-08-21
    • 1970-01-01
    • 2011-11-12
    • 2011-02-21
    • 2021-11-16
    • 2012-05-07
    • 2019-12-10
    • 1970-01-01
    相关资源
    最近更新 更多