106

我希望能够使用pip(在终端上)搜索可用的 Python 包。我想要一个类似于apt-cacheUbuntu 的功能。更具体地说,我想

  1. 能够搜索给定术语的包(类似于apt-cache search [package-name]),并且
  2. 列出所有可用的软件包。
4

7 回答 7

115

截至 2020 年 12 月,pip search将无法使用(更多)。

当前可行的解决方案是在线搜索:https ://pypi.org/ (之前的评论也提供了参考)。

如果有人遇到以下错误:

xmlrpc.client.Fault: <Fault -32500: "RuntimeError: PyPI's XMLRPC API has been temporarily
disabled due to unmanageable load and will be deprecated in the near future.
See https://status.python.org/ for more information.">

#5216所述:

作为更新:XMLRPC 搜索仍然保持禁用状态。

因为:

正如#5216(评论)中所指出的,一组服务器正在访问 pip 搜索入口点,以至于 PyPI 无法使用当前 pip 搜索工作方式的架构来维持该负载。

更新:作为pip使用 PyPI 注册表的 CLI 替代方案,可以使用

$ poetry search <package>
于 2020-12-28T23:42:52.213 回答
91

要搜索包,请发出命令

pip search [package-name]
于 2013-06-28T21:00:16.207 回答
28

截至 2020 年 12 月 14 日,pip search功能已被禁用

$ pip search cast
ERROR: XMLRPC request failed [code: -32500]
RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.

这是我刚刚发现的一个名为pip_search的小工具,它可以进行简单的搜索,但可以完成工作:

这是pip_searchv0.0.6 输出:

$ pip_search pulsemixer
----------------  -------------------------------------------------------------------------------
Name              Description

pulsemixer        pulsemixer - CLI and curses mixer for PulseAudio
pulsectl-asyncio  Asyncio frontend for the pulsectl Python bindings of libpulse
pulsectl          Python high-level interface and ctypes-based bindings for PulseAudio (libpulse)
----------------  -------------------------------------------------------------------------------

更新:pip_search已更新,每个文件夹都是每个项目的可单击(CTRL+单击)URL,现在看起来像这样:

$ pip_search pulsemixer
                                            https://pypi.org/search/?q=pulsemixer                                             
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Package             ┃ Version ┃ Released     ┃ Description                                                                     ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│  pulsemixer       │ 1.5.1   │ Apr 11, 2020 │ pulsemixer - CLI and curses mixer for PulseAudio                                │
│  pulsectl-asyncio │ 0.1.7   │ Jun 13, 2021 │ Asyncio frontend for the pulsectl Python bindings of libpulse                   │
│  pulsectl         │ 21.5.18 │ May 22, 2021 │ Python high-level interface and ctypes-based bindings for PulseAudio (libpulse) │
└─────────────────────┴─────────┴──────────────┴─────────────────────────────────────────────────────────────────────────────────┘

要安装它,只需键入:pip install pip_search

还有一个我刚刚尝试过的工具叫做pypisearch

要安装它,只需键入:pip install pypisearch

它的工作原理是这样的:

$ python -m pypisearch pulsemixer
pulsemixer (1.5.1)        [installed 1.5.0] pulsemixer - CLI and curses mixer for PulseAudio
pulsectl-asyncio (0.1.5)  Asyncio frontend for the pulsectl Python bindings of libpulse
pulsectl (21.3.4)         Python high-level interface and ctypes-based bindings for PulseAudio (libpulse)
于 2021-04-15T15:11:23.683 回答
14
  1. 搜索使用pip search QUERY

    使用pip helppip help COMMAND了解所有可用命令及其选项。

  2. 您可以在此处找到完整的软件包列表:

    https://pypi.org/

    可以在此处找到具有更简单标记以更容易自动使用的索引:

    https://pypi.org/simple/

于 2013-06-28T21:16:00.880 回答
6

如果您不想经常使用 Pip search,它可以解决您的问题。但是在经常使用之后,我发现它难以阅读,使用缓慢,而且它没有显示我有时需要的信息(上传时间、许可证、大小等),所以我最终写了一个我认为非常不错的替代方案。

它被称为 yip,它就像类固醇上的 pip 搜索。它支持正则表达式搜索、彩色输出和菜单系统,这使得从搜索结果中安装非常容易。如果您想了解更多信息或查看屏幕截图,请在 GitHub 上查看

于 2016-10-25T08:08:45.117 回答
3

要查看所有可用软件包的列表,请尝试运行

pip search *
于 2015-08-21T22:39:14.183 回答
-2

使用: pip show <package_name>

于 2022-01-16T23:50:14.910 回答