【问题标题】:Different list of installed packages sing 'pip list' and 'pip.get_installed_distributions()'使用“pip list”和“pip.get_installed_distributions()”的不同安装包列表
【发布时间】:2015-07-21 15:56:15
【问题描述】:

命令有什么区别:

$ pip list

我可以在命令行中运行,并且:

import pip
pip.get_installed_distributions()

我在 python 环境中运行。

为什么它们返回不同的已安装包列表?

【问题讨论】:

  • 你的 $PATH 有什么?
  • @AnandSKumar 我该如何检查?
  • @AnandSKumar /home/gabriel/.dropbox-bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  • @Gabriel 尝试做 - which pythonwhich pip。让我们知道结果。
  • which python: /usr/bin/python; which pip: /usr/bin/pip

标签: python


【解决方案1】:

根据pip.get_installed_distributions()的定义来自source code-

def get_installed_distributions(local_only=True,
                                skip=stdlib_pkgs,
                                include_editables=True,
                                editables_only=False,
                                user_only=False):

这是在 local_only 默认设置为 True 的情况下运行的,而当您执行 pip list 时,它将显示所有本地包和全局包,这可能会在您的情况下发生并导致您查看安装的更多软件包(本地和全局)。

尝试运行 pip list --local 以仅获取本地安装的软件包

pip.get_installed_distributions(local_only=False)

也可以获取全局包。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 2020-05-01
    • 2018-03-09
    相关资源
    最近更新 更多